AppX 是针对同时开发 Android 和 iOS 应用的开发者的技术栈系列。
AppX 系列预览:
1.移动互联网程序员
1.1 *
1.2 移动应用开发
1.2.1 移动应用开发:IDE、开发语言、跨平台框架的选择 (√)
1.2.2 移动应用开发:证书配置、模拟器与真机调试、打包、测试和发布(准备中)
1.2.1 移动应用开发:IDE、开发语言、跨平台框架的选择
No. | IDE | 支持操作系统 | 推荐指数 | 备注 |
1 | Eclipse + ADT | Windows/macOS/Linux | 强烈不推荐 | 早期 Android 官方 IDE。 |
2 | Android Studio | Windows/macOS/Linux | ☆☆☆☆☆ | 现在 Android 官方 IDE。 |
3 | IntelliJ IDEA | Windows/macOS/Linux | ☆☆☆ | 等同于 Android Studio。 |
4 | AIDE | Android | ☆☆ | Android 系统中的 IDE。 |
No. | IDE | 支持操作系统 | 推荐指数 | 备注 |
1 | Xcode | macOS | ☆☆☆☆ | 官方 IDE。 |
2 | AppCode | macOS | ☆☆☆☆ | JetBrains 公司出品。 |
3 | Swift Playgrounds | iOS[iPad] | ☆☆ | 在 iPad 上学习 Swift 的 App。 |
No. | 开发语言 | 推荐的 IDE | 推荐指数 | 备注 |
1 | Java | Android Studio | ☆☆☆☆ | 官方早期首选的进行 UI 和逻辑开发的语言。 |
2 | Kotlin | Android Studio | ☆☆☆☆☆ | 2017 年作为官方首推开发语言。 |
3 | C/C++ | Android Studio | ☆☆☆☆☆ | Native 开发语言。 |
No. | 开发语言 | 推荐的 IDE | 推荐指数 | 备注 |
1 | Objective-C | Xcode/AppCode | ☆☆☆☆ | 官方早期首选的进行 UI 和逻辑开发的语言。 |
2 | Swift | Xcode/AppCode | ☆☆☆☆☆ | 2014 年作为官方首推开发语言。 |
3 | C/C++ | Xcode/AppCode | ☆☆☆ | Native 开发语言。 |
VS | Native App | Native App(c-p) | Hybrid App | Web App |
推荐语言 | Android: Kotlin/ Java/C/C++ iOS: Swift/ Objective-C/C/C++ |
JavaScript+HTML+CSS/ C#/Qt |
JavaScript +HTML+CSS |
JavaScript +HTML+CSS |
推荐框架 | * | React Native/ Xamarin/Qt |
Ionic+PhoneGap | Ionic+PhoneGap |
推荐 IDE |
Android: Android Studio iOS: Xcode+Appcode |
React Native: Nuclide/Deco Xamarin: Xamarin Studio |
WebStorm | WebStorm |
WebView | 非必要 | 非必要 | 必要 | 必要 |
应用形式 | Android:.apk 包 iOS:.ipa 包 |
Android:.apk 包 iOS:.ipa 包 |
Android:.apk 包 iOS:.ipa 包 |
Web |
更新方式 | Android:.apk 包更新 iOS:.ipa 包更新 Android & iOS: 热更新 |
Android:.apk 包更新 iOS:.ipa 包更新 Android & iOS: 热更新 |
Android:.apk 包更新 iOS:.ipa 包更新 Android & iOS: 1.热更新 2.服务器端更新 |
服务器端更新 |
分发方式 | Android: 1.Google Play 2.第三方商店 3.自主分发 iOS: 1.App Store 2.TestFlight 3.测试包(自主/第三方) 4.企业包(自主/第三方) |
Android: 1.Google Play 2.第三方商店 3.自主分发 iOS: 1.App Store 2.TestFlight 3.测试包(自主/第三方) 4.企业包(自主/第三方) |
Android: 1.Google Play 2.第三方商店 3.自主分发 iOS: 1.App Store 2.TestFlight 3.测试包(自主/第三方) 4.企业包(自主/第三方) |
服务器分发 |
技术难度 | ☆☆☆☆ | ☆☆☆☆☆ | ☆☆☆ | ☆☆ |
潜在坑 | ☆☆☆ | ☆☆☆☆ | ☆☆ | ☆☆ |
功能 | ☆☆☆☆☆ | ☆☆☆☆☆ | ☆☆☆ | ☆☆ |
性能 | ☆☆☆☆☆ | ☆☆☆☆ | ☆☆☆ | ☆☆ |
人力成本 | ☆☆☆☆☆ | ☆☆☆☆ | ☆☆☆ | ☆☆ |
推荐参考 | 1.传统方式 2.不考虑成本 3.追求功能和性能 |
1.现有技术快速切入 2.考虑成本 3.考虑功能和性能 |
1.现有技术快速切入 2.考虑成本 3.功能和性能不敏感 |
1.Web 代入 App 2.成本敏感 3.功能和性能不敏感 |
No. | 框架名称 | 开发者 | 基于 | 推荐的 IDE | 推荐指数 |
1 | React Native | JavaScript | Nuclide/Deco | ☆☆☆☆ | |
2 | Titanium | Appcelerator | JavaScript | Appcelerator Studio | ☆☆ |
3 | NativeScript | Progress | JavaScript/TypeScript | Visual Studio Code/WebStorm | ☆☆ |
4 | Xamarin | Microsoft | C# | Xamarin Studio | ☆☆☆ |
5 | Qt | Qt | C++ | Qt Creator | ☆☆☆ |
6 | Flutter | Dart | IntelliJ IDEA | ☆☆ | |
7 | Codename One | Codename One | Java | IntelliJ IDEA | ☆ |
8 | RubyMotion | Scratchwork | Ruby | RubyMine | ☆ |
9 | PyMob | Pyzia | Python | * | ☆ |
10 | B4X | Anywhere Software | Visual Basic | B4X | ☆ |
11 | Lazarus | Lazarus Team | Pascal | Lazarus IDE | ☆ |
No. | 框架名称 | 开发者 | 基于 | 推荐的 IDE | 推荐指数 |
1 | NativeBase | Geeky Ants | React Native | Nuclide/Deco | ☆☆ |
2 | weex | Apache | JavaScript/HTML/CSS | Nuclide/Deco | ☆☆ |
3 | Kivy | Kivy | Python | Nuclide/Deco | 不推荐 |
No. | 框架名称 | 开发者 | 基于 | 推荐的 IDE | 推荐指数 |
1 | Cordova | Apache | JavaScript/HTML/CSS | Visual Studio/WebStorm | ☆☆☆☆ |
2 | PhoneGap | Adobe | Cordova | WebStorm | ☆☆☆☆ |
3 | Ionic | Drifty | Cordova/AngularJS | WebStorm | ☆☆☆☆ |
No. | 框架名称 | 开发者 | 基于 | 推荐的 IDE | 推荐指数 |
1 | jQuery Mobile | jQuery | jQuery | WebStorm | 待评价 |
2 | Sencha Touch | Sencha | JavaScript/HTML/CSS | IntelliJ IDEA | 待评价 |
3 | Mobile Angular UI | mcasimir | AngularJS | * | 待评价 |
4 | Onsen UI | Monaca Team | JavaScript/HTML/CSS | * | 待评价 |
5 | Framework7 | iDangerous | JavaScript/HTML/CSS | * | 待评价 |
6 | MUI | DCloud | JavaScript/HTML/CSS | HBuilder | 待评价 |
No. | 名称 | 基于 | 备注 |
1 | Progressive Web App | Web | 浏览器可将 Web 页面转成看起来像本地原生的 App。 |
2 | Instant App | 不清楚 | 浏览器访问 Web 页面,直接加载看起来像本地原生的 App。 |
No. | 名称 | 备注 |
1 | J2ObjC | 可以将非 UI 相关的 Java 代码转换成 Objective-C 代码。 |
2 | MyAppConverter | 可以将 Objective-C 代码 转成 Swift/Java,包含部分 UI 代码。 |
3 | Apportable | 可以将 iOS 应用整体转换成 Android 应用。 |
No. | iOS UI | Android UI |
1 | UIView | RelativeLayout |
2 | UILabel | TextView |
3 | UIButton | AppCompatButton |
4 | UIImageView | ImageView |
5 | UITextField | EditText |
6 | UITextView | EditText |
7 | UISlider | AppCompatSeekBar |
8 | UISwitch | SwitchCompat |
9 | UISegmentedControl | RadioGroup |
10 | UIWebView | WebView |
11 | UITableView | ListViewCompat |
分类 | Android | iOS | 备注 |
主系统 | Android | iOS | 主要用于手机和平板的移动操作系统 |
手表 | Android Wear | watchOS | 用于手表的移动操作系统 |
电视 | Android TV | tvOS | 用于电视的操作系统 |
汽车 | Android Auto | CarPlay | 用于汽车上依赖于手机的车载移动操作系统 |
物联网 | Android Things | HomeKit* | 用于物联网技术与产品 |