码迷,mamicode.com
首页 > 移动开发 > 详细

HybridApp开发库

时间:2015-10-31 21:41:19      阅读:343      评论:0      收藏:0      [点我收藏+]

标签:mystra   android   hybridapp   

开发App时, 把一些页面使用HTML5开发, 集成到iOS和Android中, 比较省时省力. 那么来看看都有哪些主流库可以使用呢?

技术分享

本文主要关注三个: PhoneGap, DCloud, ReactNative, 并都做了尝试.
PhoneGap: http://www.jianshu.com/p/c7fd736437b0
DCloud: http://www.jianshu.com/p/2cdf23c7c043
ReactNative: http://www.jianshu.com/p/d63c9a22973d

根据判断, 目前使用ReactNative比较适合我们的需求.

1. 实时

PhoneGap 2.9.1最新版本竟然是2013年11月的.
DCloud和ReactNative都是最近更新的.

2. 友好

PhoneGap需要生成jar包导入, 并且不支持maven库, 继承CordovaActivity加载.

public class PhoneGapActivity extends CordovaActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // 更换一下载入形式
        //setContentView(R.layout.activity_main);
        super.loadUrl("file:///android_asset/www/index.html");
    }
}

DCloud提供了多个jar包, 功能划分的比较细致, 按需导入, 关联代理和资源加载.

        if (mEntryProxy == null) {
            FrameLayout f = (FrameLayout) findViewById(R.id.js_contaner);
            wm = new WebappMode(this, f);
            mEntryProxy = EntryProxy.init(this, wm);
            mEntryProxy.onCreate(savedInstanceState, SDK.IntegratedMode.WEBAPP, wm);
        }

ReactNative提供maven库, 配合npm加载模块使, 启动本地的服务, 通过自定义控件加载.

        mReactRootView = (ReactRootView) findViewById(R.id.test_js);
        mReactInstanceManager = ReactInstanceManager.builder()
                .setApplication(getApplication())
                .setBundleAssetName("index.android.bundle")
                .setJSMainModuleName("index.android")
                .addPackage(new MainReactPackage())
                .setUseDeveloperSupport(BuildConfig.DEBUG)
                .setInitialLifecycleState(LifecycleState.RESUMED)
                .build();
        mReactRootView.startReactApplication(mReactInstanceManager, "MyAwesomeApp", null);

3. 示例

PhoneGap是apache的开源项目cordova, 文档注释都比较多, 项目较早.
DCloud是国内的HTML5库, 文档均以中文显示, 比较方便学习, Demo提供很多示例和各种用法, 学习曲线比较低.
ReactNative是Facebook公开的库, 文档自然比较全, 由于Android较新, 所以直到上一周才给出完整的文档, Example是比较旧, 很难调用, 根据文档学习如何开发, 目前关注很多.

4. 风险

PhoneGap目前看来属于被抛弃的阶段, 要不实在想不出为什么不更新文档了.
DCloud是国内开发的库, 目前还在迭代阶段, 代码比较混乱, jar包特别多, 但对国内的一些第三方库支持较好.
ReactNatvie是Facebook的新产品, 而且国内有些公司也在使用, 应该没有问题, 学习之后, 知识也可以通用, 不至于太小众.

推荐知乎的一篇关于ReactNative文章, 写得非常好!
http://www.zhihu.com/question/27852694

5. 分享

PhoneGap的链接

官网: http://phonegap.com/
Cordova: http://cordova.apache.org/

ReactNative的链接

官网: http://facebook.github.io/react-native/
中文社区: http://reactjs.cn/
文档: http://www.w3ctech.com/topic/909?utm_source=tuicool&utm_medium=referral

DCloud的链接

官网: http://www.dcloud.io/

综上所述, 本人比较喜欢ReactNative.

ReactNative的详细配置, 参考:
http://www.jianshu.com/p/7a6639d67783

版权声明:本文为博主原创文章,未经博主允许不得转载。

HybridApp开发库

标签:mystra   android   hybridapp   

原文地址:http://blog.csdn.net/caroline_wendy/article/details/49534831

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!