Native调研

目前主流的应用大体分成三类:Native App, Web App, Hybrid App.

三类主流的优点

1、native App

    性能好
    用户体验也比较好
    开发成本高,无法跨平台
    升级困难(审核),维护成本高

2、Web App特点:

    开发成本低,更新快,版本升级容易,自动升级
    跨平台,Write Once , Run Anywhere
    无法调用系统级的API
    临时入口,用户留存度低
    性能差,体验差,设计受限制
    相比Native App,Web App体验中受限于以上5个因素:网络环境,渲染性能,平台特性,受限于浏览器,系统限制。

3、Hybrid App(混合app)特点:

    Native App 和 Web App 折中的方案,保留了 Native App 和 Web App 的优点。
    但是还是性能差。页面渲染效率低,在Webview中绘制界面,实现动画,资源消耗都比较大,受限于技术,网速等因素

weex

weex是阿里巴巴公司与2016年6月开源的一种用于构建移动跨平台的UI框架

特点:

    1、一次性编写代码多端运行,

    2、使用的vue的语法,RN使用的react语法

    3、轻量级,语法简单,易于使用

    4、可扩展,丰富内置组件,可扩展的API

    5、High Performance: 高性能


缺点: 只调研IOS

    1、weex开源比较晚资料也比较少,资料也不太容易看懂;

    2、没有对硬件调用的直接接口,需要swift进行modul的扩展();

    3、支持的组件也不完善;

    3、开发完成后对xcode不了解,所以在生成项目这块和导出包这块一直也没有解决(github上有人将创建了一个完整的项目);


weex流程:

    需要xcode、cocoapods、

    创建weex-cli  =>  




基于JS开发框架:

    weex基于vue.js


性能对比:


学习成本:

1.环境配置:

    ReactNative需要按照文档安装配置很多依赖的工具,相对比较麻烦。 weex安装cli之后就可以使用


2.vue vs react:

    react模板JSX学习使用有一定的成本 vue更接近常用的web开发方式,模板就是普通的html,数据绑定使用mustache风格,样式直接使用css

weex 使用

1、手机下载

    Weex Playground  可以通过二维码来看服务 


集成IOS

需要安装 iOS 开发环境 和 CocoaPods  


2、Cocoapods安装  http://blog.csdn.net/showhilllee/article/details/38398119/

    需要Ruby环境,Mac本身就自带Ruby

    $ sudo gem install cocoapods

思考:

1、与web app 相比 navtive是不是可以不用考虑页面兼容问题(不同设备和系统)

2、cocoapads,xcode的一些处理,打包是否不用处理,还是只考虑写vue这块的内容就可以

3、weex怎么调用硬件设备

4、如果是原生与weex结合怎么来进行通信

5、weex不适用于做什么,和优、缺点是什么

|
| https://weex.apache.org/cn/ weex官网
| https://market.dotwe.org/ext/list.htm#6
| https://github.com/joggerplus/awesome-weex
| https://github.com/weexteam/weex-hackernews/blob/master/README.zh.md
| https://github.com/weexteam
| http://i.youku.com/i/UNDEzMDY2NjI0MA==/videos
| http://www.jianshu.com/p/cb6de4b85ea3
| http://www.apicloud.com/
| https://yq.aliyun.com/articles/57996 react native与weex
| http://div.io/topic/1478
| https://github.com/Elemefe/weex-vue-starter-kit
|
|
| http://reactnative.cn/ react native
| https://github.com/jondot/awesome-react-native