プリンキピア

第11章Webアプリケーション開発

THINK IT THROUGH考えてみよう
Framework Selectionフレームワークの選択
Given that many web and native application frameworks are available today, is there a process that facilitates the selection of these frameworks?
英語のヒント
今日、数多くのWebアプリケーションやネイティブアプリケーションのフレームワークが利用できることを踏まえ、それらの選択を容易にするプロセスはあるだろうか。

Native Mobile Applicationsネイティブモバイルアプリケーション

Native mobile applications are designed to run on specific mobile operating systems (i.e., Android, iOS). Android and iOS operating systems dominate the mobile device market. In 2023, Android had approximately 70% of the worldwide market share, with iOS at around 29%. Samsung, KaiOS, Windows, Linux, and others make up the remaining 1% of the market.2
英語のヒント
ネイティブモバイルアプリケーションは、特定のモバイルOS(AndroidやiOS)で動作するように設計される。モバイル端末の市場では、AndroidとiOSが大部分を占める。2023年には、世界市場の約70%をAndroidが占め、iOSは約29%だった。残りの1%は、Samsung、KaiOS、Windows、Linuxなどである。2
However, in the United States in 2023, iOS was the predominant OS with roughly 61% of the market and Android at 38%. Here, we’ll look at the specifics of native mobile app development by focusing on Android and iOS.3
英語のヒント
しかし、2023年の米国ではiOSが優勢で、市場の約61%を占め、Androidは38%だった。ここでは、AndroidとiOSに焦点を当てて、ネイティブモバイルアプリの開発の具体的な内容を見ていく。3
Native Application Development for AndroidAndroid向けのネイティブアプリケーション開発
Native application development takes advantage of the specific features available on mobile devices. The creators of the Android operating system (OS) originally designed it as an OS for digital cameras; however, they soon pivoted and changed it to be an OS for smartphones. Today, the Android OS runs on most mobile devices worldwide. It can be found on the Google Pixel, Samsung, OnePlus, and other phones.
英語のヒント
ネイティブアプリケーションの開発では、モバイル端末で利用できる固有の機能を活用する。Androidオペレーティングシステム(OS)の開発者たちは、当初、デジタルカメラ用のOSとして設計した。しかし、すぐに方針を転換し、スマートフォン用のOSに変更した。今日では、世界のモバイル端末の大半でAndroid OSが動作している。Google Pixel、Samsung、OnePlusなどのスマートフォンで使われている。
Developers for Android mobile apps have a rich ecosystem composed of development tools, programming languages, training, and services. The primary developmental tools are:
Androidモバイルアプリの開発者は、開発ツール、プログラミング言語、研修、サービスからなる、豊かなエコシステムを利用できる。主な開発ツールは次のとおりである。
• Android Studio is the official IDE for Android development, built off JetBrains’ IntelliJ IDEA software.
• Android Studioは、JetBrainsのIntelliJ IDEAを基に作られた、Android開発用の公式IDEである。
• Jetpack Compose is a toolkit for building native user interfaces (UI).
• Jetpack Composeは、ネイティブの利用者インターフェース(UI)を構築するためのツールキットである。
• Firebase is an app development platform and a collection of services for authenticating users, integrating ads, running A/B tests, and more. Firebase includes an A/B testing tool that helps test changes to web apps to see how changes impact key metrics such as revenue and customer retention. Developers will likely write software in Java, Kotlin, or C++. Java was historically the primary language for Android development. It runs on the Java Virtual Machine (JVM), which allows for creating platform-independent software. Kotlin is the preferred Android development language. It runs on the JVM but also runs on the Android Native Development Kit (NDK), which is used for performance-critical parts of applications. The NDK performs better than the JVM, and it provides direct access to physical device components (e.g., sensors and touch screen). C and C++ code can also run on the NDK.
英語のヒント
• Firebaseは、アプリ開発のプラットフォームであり、利用者認証、広告の組み込み、A/Bテストの実行などのサービスの集まりである。Webアプリへの変更が、収益や顧客維持などの重要な指標にどのような影響を与えるかを試すための、A/Bテスト用ツールも含まれる。開発者は、Java、Kotlin、C++などでソフトウェアを書くことになるだろう。以前はJavaがAndroid開発の主要言語だった。JavaはJava仮想マシン(JVM)上で動作し、プラットフォームに依存しないソフトウェアを作れる。現在、Android開発で優先される言語はKotlinである。KotlinはJVM上で動作するほか、アプリケーションの性能が特に重要な部分に使われるAndroid Native Development Kit(NDK)上でも動作する。NDKはJVMより性能が高く、センサーやタッチスクリーンなどの物理的な端末の構成要素に直接アクセスできる。CやC++のコードも、NDK上で動作する。
Applications developed for Android are distributed through App Stores. Google Play is the principal app store, but others include Amazon Appstore, HUAWEI AppGallery, and Samsung Galaxy Store.
Android向けに開発したアプリケーションは、アプリストアを通じて配布する。主要なアプリストアはGoogle Playだが、ほかにもAmazon Appstore、HUAWEI AppGallery、Samsung Galaxy Storeなどがある。
LINK TO LEARNING学びを広げるリンク
To explore Android app development further, Google offers free training. You can get started by creating your first “Hello World” (https://openstax.org/r/76AndroidDev) Android program.
Androidアプリ開発をさらに学ぶために、Googleは無料の研修を提供している。最初のAndroid用「Hello World」プログラムを作るところから始められる(https://openstax.org/r/76AndroidDev)。
2 Statcounter Global Stats, “Mobile Operating System Market Share Worldwide, Dec 2022–Dec 2023,” January 2, 2024. https://gs.statcounter.com/os-market-share/mobile/worldwide/2023 3 Statcounter Global Stats, “Mobile Operating System Market Share United States Of America, Dec 2022–Dec 2023,” January 2, 2024. https://gs.statcounter.com/os-market-share/mobile/united-states-of-america/2023
2 Statcounter Global Stats「世界のモバイルOS市場シェア、2022年12月〜2023年12月」、2024年1月2日。https://gs.statcounter.com/os-market-share/mobile/worldwide/20233 Statcounter Global Stats「米国のモバイルOS市場シェア、2022年12月〜2023年12月」、2024年1月2日。https://gs.statcounter.com/os-market-share/mobile/united-states-of-america/2023
Native Application Development for iOSiOS向けのネイティブアプリケーション開発
Apple’s iPhone was released in 2007 and quickly dominated the mobile phone market in the United States due to its simple, intuitive touch screen interface based on the success of its music player, the iPod, contributed to its popularity. The iOS operating system runs Apple’s device ecosystem, which includes iPhones, Apple TVs, Apple Watches, and more.
英語のヒント
AppleのiPhoneは2007年に発売され、米国の携帯電話市場で急速に主流となった。音楽プレーヤーiPodの成功を基にした、単純で直感的なタッチスクリーンのインターフェースが、人気につながった。iOSは、iPhone、Apple TV、Apple Watchなどを含む、Appleの端末のエコシステムを動かすOSである。
Xcode is the primary IDE used for all Apple device development. Developers will code in Objective-C or Swift. Objective-C was the primary development language for iOS; however, it was challenging to learn. In 2014, Apple released the Swift programming language specifically designed for iOS development. It offers high-order language features, making it easier to develop software and built-in memory management, which makes less prone to crash.
英語のヒント
Xcodeは、Appleのあらゆる端末向けの開発で使われる、主要なIDEである。開発者はObjective-CまたはSwiftでコードを書く。Objective-CはiOSの主要な開発言語だったが、習得が難しかった。2014年にAppleは、iOSの開発に特化して設計したプログラミング言語Swiftを公開した。Swiftは高度な言語機能を提供してソフトウェアを開発しやすくし、メモリ管理を内蔵することでクラッシュしにくくしている。
INDUSTRY SPOTLIGHT産業の現場
Framework Selection Based on Industry産業に応じたフレームワークの選択
Native application frameworks are important in every industry today. For example, mobile health applications have become quite popular. Smartwatches can collect health-related data using various sensors and mobile health applications can leverage that data to provide useful reports to users as they exercise. Using a native application framework provides quicker load times, smooth animations and transitions, optimal security, and a seamless user experience, to make it easier to immediately track and access health-care data.
英語のヒント
今日、ネイティブアプリケーションのフレームワークは、どの産業でも重要である。たとえば、モバイルの健康管理アプリケーションは広く普及している。スマートウォッチは、さまざまなセンサーで健康関連のデータを収集でき、モバイルの健康管理アプリは、そのデータを活用して、運動中の利用者に役立つ報告を提供できる。ネイティブアプリケーションのフレームワークを使うと、読み込みが速くなり、アニメーションや画面遷移が滑らかになり、セキュリティが最適になり、一続きの自然な利用体験を提供できる。そのため、健康管理のデータを直ちに追跡し、参照しやすくなる。
Drawbacks to using native application framework include a longer development process, increased cost, complex maintenance and updates, platform dependency, regulatory and compliance issues, and end-user barriers.
英語のヒント
ネイティブアプリケーションのフレームワークを使う欠点には、開発期間の長期化、費用の増加、保守や更新の複雑さ、プラットフォームへの依存、規制や遵守上の問題、最終利用者にとっての障壁などがある。