目前app开发有原生app开发,俗称native、web app开发以及混合app开发。
原生native app开发已经过了浪潮了。早期android开发和ios开发很火,程序员的工资很高。如果你想从事native app开发,android你掌握java就行,ios采用object-c开发和swift,现在基本都在切swift。
混合app就是原生+Html。布局采用css,数据交互采用js。然后外层套一个原生的壳子,可以使用原生app的特性。
webapp就说纯Html+css+js。响应式布局。借助手机浏览器就可以运行。
关于目前移动app业界已经成熟的开发框架,我推荐几个。
1、PhoneGap
PhoneGap 及Cordova(同一个东西,不同的叫法)是一款移动应用开发框架。我早期用户他开发过一个电商类的app。它能使用系统的相机、定位、通讯录、指南针等功能。通过调用它的SDK将你的应用编译为不同平台上的app。这些平台包括ios、android、windowsphone等
Phonegap Build是它的打包具,可以把你的PhoneGap代码打包成app。业界很多主流的移动app开发框架均源于PhoneGap。较著名的有Worklight、appMobi、WeX5等;其中WeX5为国内打造,完全Apache开源,在融合Phonegap的基础上,做了深度优化,具备接近Native app的性能,同时开发便捷性也较好。
2、React Native
React Native(简称 RN)是 Facebook 于 2015 年 4 月开源的跨平台移动应用开发框架,是 Facebook 早先开源的 UI 框架 。React 在原生移动应用平台的衍生产物,目前支持 iOS 和 Android 两大平台。它使用 JavaScript 语言、以及类似于 HTML 的 JSX 和 CSS 来开发移动应用,因此熟悉 Web 前端开发的技术人员只需很少的学习即可快速上手。
国内很多公司也对 React Native 做了很多研究,并有相应的产出,如一些基于 React Native 发展出来的跨三端(Android/iOS/Web)的技术。
3、Weex
Weex是阿里无线前端的产品。致力于使开发者能基于当代先进的 Web 开发技术,使用同一套代码来构建 Android、iOS 和 Web 应用。具体来讲,在集成了 WeexSDK 之后,你可以使用 JavaScript 和流行的前端框架(如 Vue.js 和 Rax)来开发移动应用。
Weex 的另一个主要目标是跟进当代先进的 Web 开发和原生开发的技术,使生产力和性能共存。在开发 Weex 页面就像开发普通网页一样;在渲染 Weex 页面时和渲染原生页面一样。
Weex 在很大程度上借鉴了 React Native 的思想和方式。目标都是通过 JS 语法渲染 Native 页面,但由于起步比较晚,社区没有 React Native 活跃,资料和开源项目也相对较少。
4、H5+
HTML5 Plus移动App,简称5+App,是一种基于HTML、JS、CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实现与原生App同样强大的功能和性能。
最后我提一下微信小程序
微信小程序,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户在微信里扫一扫或搜一下即可打开应用。
小程序开发用的技术就是HTML + CSS + JS。但微信基于此定义了自己的一套逻辑JS/WXML/WXSS/JSON来开发和渲染页面
目前微信小程序发布的数量已经很多。但是微信小程序有包的大小限制。所以目前我觉得开发一些小的应用还是最佳选择。开发的成本很低。但是对于大型app开发,微信小程序可以作为引流的工具。小程序中开发一些基础版功能,将用户引流到app上。