モバイルオペレーティングシステムの競争の世界では、 Apple iOS/iPadOS および Google Android ユーザーの間では常に議論と好みの源となってきましたが、 比較はデスクトップOSに重点が置かれるようになった.
これらのシステムはそれぞれ、デザインから機能に至るまで、独自の体験と特徴的な機能を提供しています。この記事では、iOS/iPadOSとAndroidの詳細な技術比較を検証し、 より技術的な側面 彼らのことを内部から知り、贔屓に頼ることなく、何らかの形で選考に協力したいのです...
iOSとは何ですか?
iOS(旧iPhone OS) Apple社が自社デバイス専用に開発したモバイルオペレーティングシステムです。iPhoneデバイスとiPod Touchデバイス(2022年半ばに販売終了予定)に搭載されています。Androidに次いで世界でXNUMX番目に広く利用されているモバイルオペレーティングシステムです。
これは、Apple が作成した他の 3 つのオペレーティング システムの基盤としても機能します。 iPadOS、tvOS、watchOSまた、プロプライエタリソフトウェアではありますが、一部はApple Public Source Licenseやその他のライセンスに基づいてオープンソース化されています。
だった 2007年に初代iPhone向けに発売iOSはその後、iPod Touch(2007年2010月)やiPad(2010年2018月発表、2.1年130月発売)といった他のAppleデバイスにも対応するように拡張されました。17年18月現在、Apple App Storeには2023万本以上のiOSアプリケーションが掲載されており、そのうちXNUMX万本はiPadネイティブアプリです。これらのモバイルアプリは累計XNUMX億回以上ダウンロードされています。iOSのメジャーバージョンは毎年リリースされており、現在の安定バージョンであるiOS XNUMXはXNUMX年XNUMX月XNUMX日に一般公開されました。
しかし、その起源は2005年前に遡ります。XNUMX年にスティーブ・ジョブズが将来のiPhoneの計画を開始した時、彼は新しいオペレーティングシステムの開発チームを組織する必要がありました。そのために、スコット・フォーストールとトニー・ファデルがそれぞれ率いるmacOSとiPodの開発チームを統合し、 社内競争 非常に縮小された macOS を作成しようとしたり、iPod システムを拡張しようとしたりします。
フォースタールは創造によって勝利した iPhone OSは、iPhoneをサードパーティ開発者向けプラットフォームとして成功に導いた。このオペレーティングシステムは、9年2007月XNUMX日のMacworld Conference & ExpoでiPhoneと同時に発表され、同年XNUMX月にリリースされた。
ライセンスと開発
iOS/iPadOSはオペレーティングシステムですが 閉鎖的または独占的はAppleによってライセンスされています。また、このシステムに関連するオープンソースパーツもいくつかあります。例えば、DarwinはApple Public Source License(APSL)というフリーのオープンソースライセンスの下でライセンスされていますが、GNU GPLとは互換性がありません。
Apple XNUカーネルをBSDライセンスの下でオープンソース化した BSDシステムから継承されたオリジナル部分は3条項でライセンスされていますが、Appleによって追加された部分はAPSLでライセンスされています。ただし、iOSのカーネルバージョンは公開されていません。
開発に関しては、カーネルの一部にアセンブリ言語が使用され、プログラミング言語も使用されている。 C、C++、Objective-C、Swift アプリについては、ご存知の通りです。オペレーティングシステムに関連するものはすべてApple自身が開発していますが、サードパーティ製のアプリはさまざまな個人、グループ、企業によって開発されています。
開発者が互換性のあるアプリを簡単に作成できるように、Appleは iOS SDK(ソフトウェア開発キット)当初、Apple CEO のスティーブ・ジョブズ氏は、サードパーティの開発者がネイティブ iOS アプリケーションを作成することを許可する予定はありませんでしたが、開発者からの圧力を受けて、2007 年 2008 月に、XNUMX 年 XNUMX 月までにソフトウェア開発キットが利用可能になると発表しました。おそらくこの決定がオペレーティング システムを救ったのでしょう。この決定がなければ、このオペレーティング システムのアプリ エコシステムは非常に貧弱になり、Android は崩壊していたでしょう。
SDKはmacOSで利用可能です。iOS/iPadOSデバイスの様々な機能やサービスへのアクセスに加え、開発中のアプリケーションテスト用のモバイルデバイスシミュレーターも提供します。 Apple Developer Program サブスクリプション App Store を通じてアプリケーションをテストし、技術サポートを受け、配布するには、Google Play での公開に支払う料金よりもはるかに高い料金を支払う必要があります。
En Xcodeで設定iOS SDKは、SwiftやObjective-Cなどの公式にサポートされているプログラミング言語を使用してiOSアプリを開発するのに役立ちます。他社も、それぞれのプログラミング言語を使用してこれらのシステム向けのネイティブアプリ開発を可能にするツールを開発しています。
コアまたはカーネル
iOS/iPadOSカーネルは XNUカーネル (XNU は Unix ではありません)。XNU の各バージョンは Darwin の異なるバージョンに基づいており、カーネルは ASLR (アドレス空間レイアウトのランダム化) に基づいて設計されています。これにより、カーネルが配置されているメモリ アドレスが不明になるため、脆弱性を悪用される可能性が複雑になります。これは Linux などでも採用されている機能です。
iOSには拡張機能はありません カーネル(kexts) ファイルシステムでは、ベースカーネルイメージはブートローダー(iBoot)によってランダム化されます。iOSが新機能を導入し、後にmacOSにも組み込まれるにつれて、iOS/iPadOSとmacOSのカーネルバージョンは徐々に収束してきました。Appleは、MicrosoftやLinux界のCanonicalが長年望んでいた収束、あるいはGoogleのChromeOSのような成果を目指して、カーネルを徐々に統合しているようです。
XNUは、1996年XNUMX月からApple Inc.によってmacOSオペレーティングシステム上で使用するために開発され、 ダーウィンオペレーティングシステムそして後に、このOSは同社の他のOSの基盤にもなりました。
Darwinが何なのかまだわからない人のために説明すると、Darwinはもともと独立したオープンソースのオペレーティングシステムとして存在し、 NeXTSTEP、BSD、Mach およびその他のフリーソフトウェア プロジェクト、および Apple 自身が開発したコードも含まれます。
それはです ハイブリッドカーネル これは、OSFのOSFMK 7.3(Open Software Foundation Machカーネル)、FreeBSDの要素、そしてI/O Kitと呼ばれるオブジェクト指向のドライバプログラミングインターフェースを採用しています。このハイブリッド設計は、マイクロカーネルの柔軟性とモノリシックカーネルの性能を兼ね備えています。
XCode 開発環境は明らかに Apple 独自のものですが、実際のコンパイルには GCC または LLVM のオープンソース ツールを使用します。
XNUはAMD64とIA-32アーキテクチャと互換性があるが、最終的に Apple Silicon(ARM)、そしてアーキテクチャを簡素化するために、他の古いアーキテクチャのサポートは廃止されました。さらに、x86アーキテクチャは、ここでの例のように、モバイルデバイスでは意味がありません。これについては後ほど詳しく説明します。
カーネルのBSD部分は、 POSIX アプリケーション (API)Machタスク用のUnixプロセスモデル、基本的なセキュリティポリシー、仮想ファイルシステム、ローカルファイルシステム、ネットワークプロトコルなどが含まれています。I/O Kitは、Embedded C++をベースにしたC++のサブセットで書かれたデバイスドライバフレームワークです。オブジェクト指向設計により、ドライバ開発の時間とコード量を削減し、マルチスレッド、対称型マルチプロセッサに対応し、デバイスの自動構成を可能にします。
サポートされているアーキテクチャ
いわゆるApple Siliconは、コンピューター用のMシリーズと シリーズ モバイルデバイス向けプロセッサは、他のシリーズと同様にARMアーキテクチャまたはISAに基づいていますが、純粋なARMではありません。Appleは独自の命令や拡張機能を追加することで、ニーズに合わせてパフォーマンスを最適化しています。そして、XNUはこのISAに最適化されており、最高のパフォーマンスと効率を実現しています。
つまり、AppleはCPUをカスタマイズしているが、本質的には イサアーム ほぼ完全に動作しています。しかし、これらの小さな違いと、他のコンポーネントが関与する複雑なSoCであるという事実が、純粋なARM向けにコンパイルされたバイナリがこれらのデバイスで動作しない理由となっています。
基本的に、Appleのチップは ARMv8 現在はARMv7-AとARMv6も以前は使用されていましたが、現在はARMvXNUMX-AとARMvXNUMXが使用されています。
APFSファイルシステム
Appleファイルシステム(APFS) APFSは、Apple社がmacOS、iOS、watchOS、tvOS、iPadOSで開発・使用している独自のファイルシステムです。APFSはHFS+の根本的な問題を解決するために設計され、新しいフラッシュストレージドライブ向けに最適化されています。
2016年64月にAppleの開発者会議で発表された。このシステムはXNUMXビットのiノード番号を使用し、 より安全な保管APFSはTRIMコマンドを使用することで、より優れたスペース管理とパフォーマンスを実現します。GPTパーティションスキームを使用し、APFSコンテナとその中にAPFSボリュームを配置します。効率的なクローン作成、スナップショット、ネイティブ暗号化、そして複数の暗号化オプションのサポートを提供します。また、データ整合性、フェイルオーバー保護、透過的圧縮にも重点を置いています。ただし、ユーザーデータのチェックサムの欠如、ハードドライブのパフォーマンス低下、既知の問題や脆弱性などの制限事項があります。
グラフィックインターフェース
マルチタッチスクリーン用のGUIの名称については詳細は不明ですが、macOSではAquaと呼ばれています。ただ、フレームワークが存在することは分かっています。 UIキットは、アプリケーションを開発するためのさまざまな機能を備えており、これらのオペレーティング システム用のアプリの主要なインフラストラクチャを構築できるコンポーネントを提供します。
UIKitは、アニメーション、ドキュメント、描画と印刷、テキストの管理と表示、検索、アプリケーション拡張、リソース管理、そして現在のデバイスに関する情報の取得といった機能もサポートしています。UIKitは、アクセシビリティサポートをカスタマイズし、異なる言語、国、文化圏向けにアプリケーションインターフェースをローカライズすることを可能にします。さらに、UIKitはシームレスに連携します。 SwiftUIフレームワークこれにより、アプリケーションの一部を SwiftUI で実装したり、2 つのフレームワーク間でインターフェース要素を混在させたりできるようになります。
Appleモバイルサービス
これについてはあまり詳しくありません 「Appleモバイルサービス」 実際、AndroidやGMS、Google Mobile Servicesのような名称への言及はありません。しかし、基本的なサービスとアプリがいくつか含まれていることは分かっています。
携帯電話に必須のサービスに加えて、プリインストールされたアプリ、通話キットもご用意しています。 ビルトインカメラ、写真、メッセージ、メール、Safari、マップ、Siri、カレンダー、App Store、連絡先、アドレス帳、時計、電卓、iPhoneを探す、ファイルなど。
アプリとアプリストア
前述したように、このプラットフォームで利用可能なすべてのプログラムとビデオゲームをダウンロードできるアプリストアは、 AppleのApp Store、 あなたが知っているように。
利用可能なアプリケーションは非常に多く、すべてが イディオム:
- Objective-Cは、iPhoneアプリ開発で最も人気のあるプログラミング言語の一つです。Cベースのオブジェクト指向言語で、XcodeやCocoaと組み合わせてiOSアプリの開発に使用されます。CocoaはObjective-Cで記述されたプログラミングインターフェースで、メモリ管理とMVCモデルに準拠しています。Objective-Cは長らく標準でしたが、2010年にAppleはiOS SDKでインタープリタ型コードの使用を許可しました。
- 一方、SwiftはObjective-Cよりもユーザーフレンドリーに設計された新しい言語です。iOSアプリ開発の未来を担う言語と目されており、その使いやすさと簡潔な構文から人気が高まっています。FirefoxやWordPressといった大手企業がSwiftを採用しており、今後数年間でさらに多くの企業がObjective-CからSwiftに移行すると予想されています。
さらに、Androidではパッケージは.apkとして知られていますが、Appleシステムでは .ipaその名前はiOS App Storeのパッケージに由来しており、アプリを圧縮したZIPファイルのようなシンプルなものです。また、セキュリティ上の理由から、脱獄しない限り、サードパーティのソースからダウンロードしたアプリはいかなる状況でもインストールできません。
脱獄
ご存知のとおり、iOS/iPadOSやAndroidなどのモバイルOSは、セキュリティ上の問題を回避するため、厳重に「ロック」されています(つまり、権限のないユーザーとして扱われます)。しかし、これによって機能も制限され、権限を得るために「脱獄」(いわゆる「ロック解除」)を行う人もいます。 脱獄、 Android のルートに相当します。
iOSは発売以来、 さまざまなハック Appleが許可していない機能を追加するように設計されています。2008年にiOS App Storeが登場する以前は、脱獄の主な目的は、Appleのネイティブアプリ購入メカニズムを回避してインストールすることでした。Appleはこれらのツールを特に破壊するために設計されたソフトウェアアップデートをリリースしないと主張していましたが、iOSのアップデートごとに、これまで修正されていない脱獄エクスプロイトが修正されることがよくありました。
脱獄には カーネルを悪用してパッチを当てる iOSは起動時に独自のカーネルを最初に読み込むため、デバイスを起動するたびに毎回変更が行われます。脱獄には様々な種類があり、アンテザード脱獄は最も包括的なもので、コンピューターを使わずにデバイスを再起動できます。テザード脱獄は、1回の起動のみ一時的に機能します。近年、セミテザードとセミアンテザードのソリューションが登場し、デバイスへの変更が再起動間でどの程度持続するかについて、様々な選択肢を提供しています。
iPadOSとは?iOSとiPadOSの違い
iPadOS まだタブレット向けに改良されたiOSに過ぎません。iOSアプリをサポートし、コードベースの大部分をtvOS、watchOS、そしてiPhone向けの初代iOSといったiOSプラットフォームファミリーと共有していますが、iPadOSは機能面ではいくつかの重要な違いがあります。
iPhone 用の iOS とは異なり、iPadOS はタブレットでの使用に最適化されており、タブレット固有の機能を提供します。 マルチタスクと拡張性例えば、iPadOSは分割画面モードをサポートし、外部ディスプレイとの連携が可能です。これらはiPhone版iOSにはない機能です。さらに、iPadOSはApple Pencilをサポートし、ネイティブのWebデスクトップモードも備えています。これらはiPhone版iOSにはない機能です。
これらの改善にもかかわらず、iPadOSにはiPhoneのiOSと比べていくつかの制限があります。例えば、 iPadOSはApple Watchと互換性がありません 電話やiMessage/SMSなどの機能を利用するには、iPhoneとの接続が必要です。アプリの互換性も異なり、iPadOSではiOS向けに設計されたほとんどのアプリを互換モードで実行できますが、iPhoneではiPadOS専用に設計されたアプリは実行できません。
に関して セキュリティiPadOS には、生体認証、パスワードと支払いのための安全なアイテムの保存、VPN および IPv6 のサポート、サードパーティの追跡ブロック、バックアップの暗号化、暗号化されたクラウド ストレージなどの最新機能が含まれています。
その歴史は、 2019年に発売予定AppleがiPadのOSエクスペリエンスをiPhoneと差別化することを決定した16年代から、iPadはiPhoneと差別化を図ってきました。長年にわたり、iPadを外部ディスプレイとして使用できるサイドカーモード、マウスとトラックパッドの最適化、そしてiPadOS XNUMXのStage Managerといった新しいマルチタスク機能など、大きな改善が導入されてきました。Stage Managerは、単一のデスクトップインターフェースで最大XNUMXつのアプリを実行できます。
En ビジネスの観点から見ると、iPadOSは実行可能な選択肢かもしれない ノートパソコンの代替、チェックインキオスク、職場の情報ディスプレイ、POSシステムなど、特定の用途に適しています。ただし、iPadOSはmacOSデスクトップアプリを実行できず、iOSプラットフォーム向けに設計されたアプリのみに対応しているため、その適合性は具体的な用途によって異なります。
要するに、 iOSとiPadOSの違い 以下は共有です。
| 機能 | iOS(iPhone) | iPadOS (アイパッド) |
| アプリの分割画面 | いいえ | はい |
| 外部ディスプレイのサポート | いいえ | はい |
| サイドカー(画面入力) | いいえ | はい |
| iPadOS向けアプリに対応 | いいえ | はい |
| iOSアプリと互換性あり | はい | はい |
| デスクトップフリーモード | いいえ | はい |
| Apple Watchスタンド | はい | いいえ |
| テレフォニー | はい | はい |
| iMessage / SMS | はい | はい |
| ホーム画面のドックUI | いいえ | はい |
| ピクチャーインピクチャー(PiP)ビデオ | はい | はい |
| デスクトップモードのSafari | いいえ | はい |
| 4G / 5G接続 | はい | はい(一部のバージョン) |
| VoIP / ビデオ会議 | はい | はい |
| 生体認証セキュリティ | はい | はい |
| 超広帯域(UWB) | はい | はい |
| キオスクモード(シングルアプリモード) | はい | はい |
| モバイルデバイスマネージャー | はい | はい |
| ApplePencilのサポート | いいえ | はい |
Androidとは何ですか?
Android これは、Google(Alphabet)がLinuxカーネルの改良版とその他のオープンソースソフトウェアをベースに開発したモバイルオペレーティングシステムです。主にスマートフォンやタブレットなどのタッチ操作デバイス向けに設計されていますが、TVボックスや一部の小型ノートパソコンなど、他の多くのデバイスにも搭載されています。
これは、 オープンハンドセットアライアンスは、Google自身、LG、ソフトバンク、テレフォニカ、HTC、Dell、ソニー、インテル、モトローラ、クアルコム、テキサス・インスツルメンツ、サムスン電子、T-Mobile、NVIDIAなどの開発者コンソーシアムです。さらに、独自のフォーク(HuaweiのHarmony OS、Baidu、ColorOS、Replicant、/e/、Lineage OS、AmazonのFire OS、OneplusのOxygenOS、Remix OSなど)の開発に貢献したり作成したりするコミュニティもあります。2007年2008月に導入され、最初の商用デバイスであるHTC DreamはXNUMX年XNUMX月に発売されました。
オペレーティングシステムのコアは、 Androidオープンソースプロジェクト(AOSP)は、主にApacheライセンスに基づく無料のオープンソースソフトウェアです。しかし、ほとんどのデバイスはGoogleが開発した独自バージョンを使用しており、これには以下のようなクローズドソースソフトウェアが含まれています。 Googleモバイルサービス(GMS) これについては後ほど詳しく説明します。
Androidは 世界で最も使用されているオペレーティングシステム 2011 年以来。モバイル分野では iOS/iPadOS をはるかに上回り、デスクトップでも Windows を何百万ものユーザーで上回っています。
Androidの歴史は 2003年に設立され、 当初はデジタルカメラ向けの高度なオペレーティングシステムを開発するという目的で開発されました。その後、Googleは2005年にAndroidを買収しました。それ以来、Androidは複数回のアップデートを経て、アルファベット順にデザートの名前が付けられてきました。ご存知の通りです。
アップルのシステムとの競争に加えて、例えばマイクロソフトからの特許訴訟など、他の問題にも直面している。 FATファイルシステム実際、マイクロソフトは、完全な失敗に終わった自社の Windows Phone オペレーティング システムよりも、この製品で多くの利益を上げています。
ライセンスと開発
Android は、最新の変更とアップデートがリリースされる準備ができるまで Google によって開発され、その時点でソース コードが一般に公開されます。 Android オープンソース プロジェクト (AOSP)Googleが主導するオープンソースイニシアチブです。AOSPコードは、主に特定のハードウェアで動作するように最小限の変更を加えた上で、一部のデバイスに搭載されています。
El Androidのソースコードにはデバイスドライバが含まれていないこれらは、各デバイス メーカーによって追加されるもので、多くの場合は独自のものであり、特定のハードウェア コンポーネントに必要です。
ライセンスに関しては、Androidは主にオープンソースであり、ライセンスに基づいていると言わざるを得ません。 LinuxカーネルにはGNU GPLv2、ユーザー空間ソフトウェアにはApache License 2.0さらに、互換性を確保するためにデバイス製造元によって追加されたバイナリ BLOB やドライバー、または GMS のようなフリーウェアおよび独自のコンポーネントもあります。
コアまたはカーネル
Androidカーネルは、長期サポート(LTS)ブランチに基づいています。 Linuxカーネル2023年まで、AndroidはLinuxカーネルのバージョン4.14、4.19、5.4、5.10、または5.15を使用します。これらはデバイスに応じて調整され、多くの場合android13-5.15またはandroid-4.19-stableという名称になります。Androidカーネルには、Googleが通常のLinuxカーネル開発サイクルとは別に実装した追加のアーキテクチャ変更が含まれています。
これらの変更には、 コンポーネントの導入 デバイスツリー、Ashmem、ION、そして様々なメモリ不足(OOM)ハンドラなど。GoogleはLinuxカーネルに「wakelocks」電源管理機能など特定の機能を提供してきましたが、長期的な保守性への懸念から、コアカーネル開発者によって当初拒否された機能もありました。
ご存知のとおり、Linuxカーネルは モノリシックマイクロカーネルと同様に機能するために、動的なモジュールローディングが可能です。そのため、一部のドキュメントで示唆されているような純粋さではなく、時代の変化に合わせて進化してきました。
Android がなぜ GNU/Linux ディストリビューションではないのかと疑問に思う人は多いでしょう。その理由は、Android が GNU エコシステムを使用せず、Linux のみをベースとしていること、そして GNU の代替として、NetBSD にヒントを得たネイティブ コア ユーティリティ システムの mksh シェルと、GNU C ライブラリ (glibc) の代わりに Bionic libc ライブラリを統合していることです。
知らない人のために バイオニックこれは、GoogleがAndroid向けに開発したBSD C標準ライブラリのフォークであり、GPLおよびLGPLライセンスから分離されています。glibcやuClibcよりもサイズが小さく、メモリ効率が高いことに重点を置いており、ネイティブ開発キット(NDK)を使用したAndroid開発に推奨されています。Bionicには、C++例外処理が不足している、標準テンプレートライブラリ(STL)を手動でインクルードする必要がある、拡張文字セットがサポートされていないなどの制限があります。また、一部のシステムコールにAndroid固有の機能が含まれており、Android Jelly Bean MR1(4.2)以降では、バッファオーバーフローを防ぐためにglibcのFORTIFY_SOURCEをサポートしています。
サポートされているアーキテクチャ
Linux カーネルは多数のアーキテクチャで利用可能ですが、Android への移植はこれまで行われてきました。 x86およびARM向けしかし、支援のための取り組みも進行中です。 RISC-V.
具体的には、Androidが登場して以来、最初の32ビットARMv7デバイスだけでなく、新しいISAなどのより新しいバージョンのISAもサポートされています。 8ビットARMv9またはARMv64もちろん、x32側ではIA-64とAMD86の両方をサポートしています。そして、先ほども言ったように、RISC-Vのサポートも現在追加中で、これは非常に興味深いことです…
FATファイルシステム
Androidは以下と互換性があります 複数のファイルシステム または、次のような FS (ファイル システム) です。
- FAT32 (ファイルアロケーションテーブル32): 幅広いプラットフォームと互換性のあるファイルシステムです。ファイルとパーティションのサイズに制限があるため、ストレージ容量が小さく、基本的なニーズを満たすデバイスに適しています。
- Ext3 (第XNUMX拡張ファイルシステム): Linuxシステム向けに設計されたファイルシステム。ジャーナリングを実装することで、前身のExt2と比較して耐久性と回復性が向上しています。
- Ext4 (第XNUMX拡張ファイルシステム): これはLinuxシステム向けExtシリーズの最新バージョンです。パフォーマンスが向上し、より大きなファイルやパーティションを処理できるようになりました。また、Ext3のジャーナリング機能も継承されています。
- exFAT(拡張ファイルアロケーションテーブル): Microsoftによって開発されたファイルシステムで、Windowsプラットフォームおよびリムーバブルストレージデバイスとの互換性を考慮して設計されています。メモリカードやフラッシュドライブでよく使用され、FAT32のファイルサイズ制限を克服します。
しかし、現在のAndroidデバイスのほとんどはFAT、特にexFATを使用しています。そのため、Microsoftはこの技術を使ってAndroidデバイスの販売で大きな利益を上げています。残りのファイルシステムは、モバイルデバイスではあまり使用されず、x86 Android専用に予約されています。
グラフィックインターフェース
材料設計 マテリアルデザインは、Googleが開発したデザイン原則とガイドラインのセットであり、アプリやウェブサイトにおいて一貫性があり魅力的なビジュアルインターフェースを実現するためのものです。2014年に導入され、直感的で視覚的に魅力的なユーザーエクスペリエンスの創出に重点を置いています。マテリアルデザインは、インターフェースはあらゆるプラットフォームやデバイスで同じように表示され、動作するべきであるという考えに基づいています。
マテリアルデザインはAndroidのGUI(グラフィカルユーザーインターフェース)と密接な関係があり、 Googleはこれを標準的な設計アプローチとして採用している Android オペレーティングシステム上のアプリ向け。マテリアルデザインは、インターフェースの構造、色、タイポグラフィ、アニメーション、ビジュアル要素の使い方について詳細なガイドラインを提供し、Android ユーザーにとって一貫性のある魅力的なエクスペリエンスを実現します。
Googleモバイルサービス
Googleモバイルサービス(GMS) GMSは、Google独自のアプリケーションとアプリケーション・プログラミング・インターフェース(API)サービスの集合体であり、通常、スマートフォン、タブレット、スマートウォッチなどのAndroidデバイスにプリインストールされています。GMSはAndroidオープンソースプロジェクト(AOSP)の一部ではないため、AndroidメーカーはAndroidデバイスにGMSを合法的にインストールするために、Googleからライセンスを取得する必要があります。
に対する 基本的な応用 Google モバイル サービスを構成するコアアプリケーションには、Google 検索、Google Chrome、YouTube、Google Play、Google ドライブ、Gmail、Google Meet、Google マップ、Google フォト、Google TV、YouTube Music などがあります。これらのコアアプリケーションは、Android デバイスのユーザーエクスペリエンスに大きく貢献し、Google がモバイル プラットフォーム上で提供するエコシステムの不可欠な要素となっています。
AOSPの一員ではないので、 このMSGは除去できる そしてそれを他の同様のサードパーティサービスに置き換えることは、制裁を受けて中国ブランドとしてHMSの使用が禁止された後にHuaweiが行ったことであり、また、独自のサービスシステムを使用するAmazon FireOSや、LineageOSに基づいてMicroG + Mozillaの位置情報サービスをGMSの代わりとして使用する/e/オペレーティングシステムなど、他の派生システムでも行われています。
アプリとアプリストア
まず、この場合のアプリとビデオゲームストアは Google PlayでGMSに統合されたGoogle Play Servicesの一部です。このストアから、プラットフォームで利用可能なあらゆる種類のソフトウェアをダウンロードしてインストールできるほか、セキュリティチェックやアップデートなども行えます。
Androidは、先ほど述べたようにLinuxカーネルをベースにしていますが、ミドルウェア、ライブラリ、APIはC言語で書かれており、アプリケーションは次のようなアプリケーションフレームワーク上で実行されます。 Java互換ライブラリこのプラットフォームは、インストール前にコンパイルされたAndroid Runtime(ART)を実行環境として使用します。ART以前のAndroidでは、 ダルビク ジャストインタイム(JIT)コンパイルされた仮想マシンとして。Android標準CライブラリであるBionicは、Android専用に設計されており、glibcやuClibcよりも軽量で、低周波数CPU向けに最適化されています。
Googleはライセンス上の理由から、2012年にBluetoothスタックをBlueZからBlueDroidに変更しました。さらに、AndroidはネイティブでX Window Systemを搭載しておらず、GNUライブラリのフルセットもサポートしていません。現在のバージョンでは、 おもちゃ箱コマンドライン ユーティリティのコレクションである と、Android 内のオペレーティング システムである Trusty OS は、モバイル決済からマルウェア検出まで、さまざまなアプリケーションに信頼できる実行環境を提供します。
のように パッケージマネージャーこの場合、Google Play自体がパッケージマネージャーとして使用されますが、セキュリティオプションを設定してサードパーティのソースからのパッケージを受け入れることも可能です(自己責任で)。また、他のアプリストアもルート権限でインストールできます。
この場合、インストール可能なファイルは .apk です。 APK(Androidパッケージ)ファイル Androidオペレーティングシステムで使用されるフォーマットで、通常はJARファイル形式です。JavaまたはKotlinのソースコードからビルドでき、コード、リソース、証明書、マニフェストなど、プログラムのすべての要素が含まれています。APKファイルはAndroid App Bundleから生成および署名できます。
Root(根)
Root(根) Androidデバイスでは、オペレーティングシステムや/system/などの機密パーティションへの特権アクセスを取得することを指します。これはAppleの脱獄に相当します。一般的なデスクトップLinuxディストリビューションとは異なり、Androidデバイスのユーザーはオペレーティングシステムへのルートアクセス権を持っておらず、一部のパーティションは部分的に読み取り専用になっています。
ただし、ルートアクセスは セキュリティの脆弱性を悪用する Android では、ブートローダーのロックを解除する、つまりルート権限を付与するといったことが行われます。多くの Android デバイスで利用可能なブートローダーのロック解除により、ルート権限へのアクセスが可能になりますが、その過程ですべてのユーザーデータが消去されます。この機能は、オープンソースコミュニティによってデバイスの機能強化やカスタマイズに利用されていますが、悪意のある攻撃者がウイルスやマルウェアをインストールするために悪用される可能性もあります。
相違点のまとめ
| パラメトロス | iOS / iPadOS | Android |
| 開発者 | 開発に関しては Apple が全責任を負います。 | 開発は Open Handset Alliance (OHA) と Google が担当します。 |
| 初回リリース | 2007年、具体的には29月XNUMX日。 | 2008年、具体的には23月XNUMX日。 |
| 家族 | Unixライク(XNU – Darwin) | Unixライク(Linux) |
| 最初のバージョンの名前 | iOS 1 / iPadOS 13 | Androidの1.0 |
| 対象セクター | iPhone、Appleのスマートフォン、iPadなどのモバイルデバイス向け。iPodプレーヤーでも利用可能。 | 携帯電話からスマートフォン、タブレット、TV ボックス、スマート TV、小型ノートパソコンなど、幅広いデバイスに対応しています。 |
| 運転手 | iOS および iPadOS は Apple デバイス用にのみ最適化されており、ドライバーが含まれています。 | Androidは様々なメーカーやモデルのハードウェア、そして様々なブランドのハードウェアで動作するため、これらのドライバが含まれている必要があります。より汎用的です。 |
| カーネル | iOSとiPadOSはmacOSと同様にXNUコアを搭載しています。ハイブリッドコア | Android は Linux を使用し、動的なモジュールの読み込みを備えたモノリシックです。 |
| ライセンス | iOS/iPadOS は、当事者に応じて APSL ライセンスと独自ライセンス (EULA) を使用します。 | Android は GNU GPLv2 に基づいてライセンスされており、その他の部分は Apache ライセンスに基づいてライセンスされています。 |
| プログラミング言語 | 開発にはObjective-C、Swift、C、C++などの言語が使用されます。 | Android では Java、C、C++ が使用されますが、他のコンポーネントには他の言語も含まれる場合があります。 |
| アップデート | OTAアップデートマネージャー付き | OTAアップデートマネージャー付き |
| アプリケーション | アプリケーションは Swift を使用して開発されます。 | アプリケーションは Kotlin、特に Java で開発されます。 |
| デフォルトのウェブブラウザ | Safari | Chrome |
| 音声アシスタント | シリ | Googleアシスタンス |
| セキュリティ | 独自のセキュリティシステムを搭載しており、App Storeに公開される前にアプリがフィルタリングされ、悪意のあるアプリではないことが確認されています。もちろん、セキュリティ対策としてサードパーティ製のアプリをブロックするシステムと、権限システムも備えています。 | SELinuxセキュリティシステムをベースとしており、アプリはGoogle Playに公開される前にフィルタリングされ、悪意のあるアプリではないことが確認されています。もちろん、セキュリティ対策としてサードパーティ製のソースをブロックするシステムと、権限システムも備えています。 |
| 言語 | 約24の言語でご利用いただけます。 | 100 つ以上の異なる言語で利用できます。 |
iOS/iPadOS vs Android:それぞれのメリットとデメリット
上記の技術的な詳細により、 長所と短所 それぞれに長所と短所があります。しかし、適切なオペレーティングシステムを選ぶ際の参考として、それぞれの注目すべき長所と短所をいくつかご紹介します。
- iOS / iPadOSあらゆるタイプのユーザー向けに設計されており、非常に使いやすく直感的であるだけでなく、安全性と安定性も高く、豊富なアプリを提供しています。しかし、プラットフォームの切り替えには多少の難しさが伴うため、これまでAndroidを使用していて不満がない場合は、Appleエコシステムへの移行には多少の調整が必要になるでしょう。一方で、以下の点にも注意が必要です。
- 利点:
- 最適化: iOS/iPadOSはAppleデバイス向けに特別に設計されており、ソフトウェアとハードウェアの最適な統合を実現します。これにより、非常に高速で効率的なデバイスが実現します。
- 品質アプリとハードウェアは通常、より高品質で、より高級なデザインになっています。
- セキュリティ: App Store の閉鎖的な構造と厳格な管理により、マルウェアや脅威に関してはより安全な環境が実現され、無防備ではないものの、Android を上回る可能性もある。
- 統合されたエコシステム: Mac、iPad、Apple Watch などの他の Apple デバイスや、iCloud などのサービスとのシームレスな統合により、すべてがうまく機能しない可能性のある異機種エコシステムと比較して、非常に優れたエクスペリエンスが実現します。
- デメリット:
- 限定的なカスタマイズ: Androidと比較すると、システムとユーザーインターフェースのカスタマイズは制限されています。また、脱獄も大幅に困難です。
- 費用: Apple デバイスは通常、同等の Android オプションに比べて高価です。
- デバイスの種類が少ない: Apple は製造するデバイスの数が限られているため、消費者の選択肢が限られる可能性がありますが、Android はより多くの選択肢を提供します。
- 利点:
- Androidあらゆるタイプのユーザー向けに設計されており、非常に使いやすく直感的です。さらに、安全で安定しており、Apple製品よりも多くのアプリが利用可能です。既にApple環境に慣れている場合や、自宅に他のAppleデバイスがある場合も同様です。使いやすさと統合性を考えると、iOS/iPadOSを選択することをお勧めします。さらに、以下の点も注目すべき点です。
- 利点:
- さまざまなデバイス: Android はさまざまなメーカーの幅広いデバイスで利用でき、さまざまな予算と好みに合わせたオプションが提供されます。
- 高度なカスタマイズ: ユーザーはより自由にユーザーインターフェースをカスタマイズし、好みに合わせて設定を調整できます。さらに、ランチャーなどのアプリや、正常に動作するためにルート権限を必要としないその他の多くの機能も利用できます。
- オープンソース: オープンソースであるため、信頼性が高まり、バイナリ ブロブのないカーネルを搭載した ROM、GMS なしのセキュリティとプライバシーが改善されたバージョンなどもあります。
- Google サービス: AppleはGoogleほど多様なサービスを提供しており、マップとGoogleマップのように、一部のサービスはGoogleに敗れています。例えば、これらのデバイスでは、Gmail、Google Drive、YouTube、マップ、Chrome、GBoard、レンズ、Play Music、フォトなどがデフォルトで統合されています。
- デメリット:
- 断片化: オペレーティングシステムの断片化は、メーカーが独自のペースでアップデートを展開するため、ユーザーエクスペリエンスの一貫性のなさにつながる可能性があります。しかし、Google、Samsungなどの主要なモバイルデバイスブランドでは、このような問題は発生していません。
- 可変セキュリティ: デバイスとメーカーの多様性により、特に古いデバイスやローエンドのデバイスではセキュリティが異なる場合があります。
- マイナーな最適化: 非常に多種多様なデバイスで動作する必要があるため、特定のデバイス向けに最適化されておらず、すべてのデバイスで動作しない機能が分散してしまう可能性があります。
- 利点:
もちろん、iOS と Android のどちらを選択するかは、ユーザーの個人的な好みや、予算、希望するカスタマイズ、特定のエコシステムの好みなどの要因によって決まることはすでにご存知でしょう。