Giter Club home page Giter Club logo

appx's Introduction

AppX

AppX 是什么?

AppX 是针对同时开发 Android 和 iOS 应用的开发者的技术栈系列。

AppX 推进中

AppX 系列预览:
1.移动互联网程序员
  1.1 *
  1.2 移动应用开发
      1.2.1 移动应用开发:IDE、开发语言、跨平台框架的选择 (√)
      1.2.2 移动应用开发:证书配置、模拟器与真机调试、打包、测试和发布(准备中)

表 1:常见的 Android 原生开发的 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。 

表 2:常见的 iOS 原生开发的 IDE

 No.   IDE   支持操作系统   推荐指数   备注 
1  Xcode   macOS   ☆☆☆☆   官方 IDE。 
2  AppCode   macOS   ☆☆☆☆   JetBrains 公司出品。 
3  Swift Playgrounds   iOS[iPad]   ☆☆   在 iPad 上学习 Swift 的 App。 

表 3:常见的 Android 原生开发的开发语言

 No.   开发语言   推荐的 IDE   推荐指数   备注 
1  Java   Android Studio   ☆☆☆☆   官方早期首选的进行 UI 和逻辑开发的语言。 
2  Kotlin   Android Studio   ☆☆☆☆☆   2017 年作为官方首推开发语言。 
3  C/C++   Android Studio   ☆☆☆☆☆   Native 开发语言。 

表 4:常见的 iOS 原生开发的开发语言

 No.   开发语言   推荐的 IDE   推荐指数   备注 
1  Objective-C   Xcode/AppCode   ☆☆☆☆   官方早期首选的进行 UI 和逻辑开发的语言。 
2  Swift   Xcode/AppCode   ☆☆☆☆☆   2014 年作为官方首推开发语言。 
3  C/C++   Xcode/AppCode   ☆☆☆   Native 开发语言。 

表 5:Native App VS Hybrid App VS Web App (备注:以下内容并未着重考虑游戏应用)

 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.功能和性能不敏感 

表 6:常见的移动应用(Android & iOS)跨平台开发框架(Native)

 No.   框架名称   开发者   基于   推荐的 IDE   推荐指数 
1  React Native   Facebook   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   Google   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   ☆ 

表 7:常见的移动应用(Android & iOS)跨平台开发 UI 框架(Native)

 No.   框架名称   开发者   基于   推荐的 IDE   推荐指数 
1  NativeBase   Geeky Ants   React Native   Nuclide/Deco   ☆☆ 
2  weex   Apache   JavaScript/HTML/CSS   Nuclide/Deco   ☆☆ 
3  Kivy   Kivy   Python   Nuclide/Deco   不推荐 

表 8:常见的移动应用(Android & iOS)跨平台开发框架(Web/Hybrid)

 No.   框架名称   开发者   基于   推荐的 IDE   推荐指数 
1  Cordova   Apache   JavaScript/HTML/CSS   Visual Studio/WebStorm   ☆☆☆☆ 
2  PhoneGap   Adobe   Cordova   WebStorm   ☆☆☆☆ 
3  Ionic   Drifty   Cordova/AngularJS   WebStorm   ☆☆☆☆ 

表 9:常见的移动应用(Android & iOS)跨平台开发 UI 框架(Web/Hybrid)

 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   待评价 

表 10:Android App 新技术

 No.   名称   基于   备注 
1  Progressive Web App   Web   浏览器可将 Web 页面转成看起来像本地原生的 App。 
2  Instant App   不清楚   浏览器访问 Web 页面,直接加载看起来像本地原生的 App。 

表 11:移动应用开发“跨平台”的其他特殊手段

 No.   名称   备注 
1  J2ObjC   可以将非 UI 相关的 Java 代码转换成 Objective-C 代码。 
2  MyAppConverter   可以将 Objective-C 代码 转成 Swift/Java,包含部分 UI 代码。 
3  Apportable   可以将 iOS 应用整体转换成 Android 应用。 

表 12:iOS UI 到 Android UI 转换对应参考表

 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 

表 13:Android VS iOS 生态

 分类   Android   iOS   备注 
 主系统   Android   iOS   主要用于手机和平板的移动操作系统 
 手表   Android Wear   watchOS   用于手表的移动操作系统 
 电视   Android TV   tvOS   用于电视的操作系统 
 汽车   Android Auto   CarPlay   用于汽车上依赖于手机的车载移动操作系统 
 物联网   Android Things   HomeKit  用于物联网技术与产品 

appx's People

Contributors

ifeegoo avatar

Watchers

 avatar  avatar

Forkers

datayang

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.