移動應用程序開發
One of the most popular forms of coding in the last decade has been the creation of apps, or applications, that run on mobile devices.
在過去的十年中,最流行的編碼形式之一是創建在移動設備上運行的應用程序。
Today there are two main categories of mobile devices: those that run iOS and those that run Android.
如今,移動設備主要分為兩類:運行iOS的設備和運行Android的設備。
移動操作系統 (Mobile operating systems)
iOS(iPhone,iPad,Apple TV) (iOS (iPhone, iPad, Apple TV))
iOS is a mobile operating system developed and distributed by Apple Inc. It was originally released in 2007 with the iPhone, and today runs on many other devices including the iPod Touch, iPad, and Apple TV.
iOS是由Apple Inc.開發和發行的移動操作系統。它最初于2007年與iPhone一起發布,如今可在許多其他設備上運行,包括iPod Touch,iPad和Apple TV。
iOS shares similar roots to the macOS operating system used in modern Apple computers.
iOS與現代Apple計算機中使用的macOS操作系統具有相似的根源。
安卓系統 (Android)
Android is an open source, Linux-based mobile operating system. Android was developed by the Open Handset Alliance, which was lead by Google and featured contributions from many other companies.
Android是基于Linux的開放源代碼移動操作系統。 Android由開放手機聯盟(Open Handset Alliance)開發,該聯盟由Google領導,并獲得了許多其他公司的貢獻。
While originally developed for phones, today Android powers everything from tablets and smartwatches to smart devices like refrigerators.
雖然最初是為手機開發的,但今天的Android為從平板電腦和智能手表到冰箱等智能設備的所有功能提供支持。
如何開發移動應用 (How to develop mobile apps)
Similar to the way mobile devices can be split into two general categories, there are two ways to think about modern mobile app development: Native development or cross-platform development.
與將移動設備分為兩大類的方法類似,有兩種方法可以考慮現代移動應用程序的開發:本機開發或跨平臺開發。
原生開發 (Native development)
This method of developing a mobile app describes building it for a specific mobile operating system using specialized tooling.
這種開發移動應用程序的方法描述了使用專門工具為特定的移動操作系統構建應用程序。
To develop apps for iOS, you need to code in either Objective-C or Swift in XCode, an IDE (integrated development environment) exclusive to macOS.
要開發適用于iOS的應用,您需要使用Objective-C或XCode中的Swift進行編碼,XCode是macOS專有的IDE(集成開發環境)。
Apps for Android devices are developed in Java using the Android SDK (software developer kit), which runs on Windows, macOS, and Linux.
適用于Android設備的應用是使用可在Windows,macOS和Linux上運行的Android SDK(軟件開發人員套件)以Java開發的。
There are a number of reasons for developing native mobile apps for each mobile OS including speed, security, and reliability. The big downside is that, if you want to develop an app for both iOS and Android, you basically have to build the entire thing twice.
為每個移動操作系統開發本機移動應用程序的原因有很多,包括速度,安全性和可靠性。 最大的缺點是,如果要同時為iOS和Android開發應用程序,則基本上必須將整個程序構建兩次。
跨平臺開發 (Cross-platform development)
This type of development uses a framework to build an app once, then create versions for both iOS and Android. Here's a list of some of the more popular frameworks:
這種類型的開發使用框架來一次構建應用程序,然后為iOS和Android創建版本。 以下是一些較流行的框架的列表:
IonicIonic is open source framework used for developing mobile applications. It provides different tools and services for building a mobile UI with a native look and feel. The Ionic framework needs a native wrapper to be able to run on mobile devices.
Ionic Ionic是用于開發移動應用程序的開源框架。 它提供了不同的工具和服務來構建具有本機外觀的移動UI。 Ionic框架需要本機包裝才能在移動設備上運行。
Apache CordovaFormally known as PhoneGap, Apache Cordova is a mobile development framework originally created by Nitobe. Now it's owned by Adobe Systems. With this framework, the developer does not need to know Java or Swift, just basic HTML, CSS, and JavaScript.
Apache Cordova Apache Cordova正式稱為PhoneGap,是最初由Nitobe創建的移動開發框架。 現在,它歸Adobe Systems所有。 使用此框架,開發人員無需了解Java或Swift,只需了解基本HTML,CSS和JavaScript。
React本機 (React Native)
React Native is a cross platform mobile app development framework by Facebook. Like React, React Native allows developers to build mobile apps using JSX, and offshoot of JavaScript. While it has a steeper learning curve than other frameworks like Apache Cordova, React Native allows developers to utilize more native features of the device like the camera without extra plugins.
React Native是Facebook的跨平臺移動應用程序開發框架。 與React一樣,React Native允許開發人員使用JSX和JavaScript分支構建移動應用程序。 盡管與Apache Cordova等其他框架相比,React Native具有更陡峭的學習曲線,但它允許開發人員利用設備的更多本機功能,例如相機,而無需額外的插件。
翻譯自: https://www.freecodecamp.org/news/what-is-mobile-app-development/
移動應用程序開發