混合开发hybrid(native/H5)开发及前后端分离(2)

MVP-RxJava-Hybride- https://github.com/youxin11544/mvp_hybride_framwork

 这是一个Android MVP模型良好的架构设计,同时也做了Android和HTML 5交互架构,用到了RxJava+Retrofit+MVP+泛型缩减mvp+模板模式+命令模式+观察者模式+管理者模式 +简单工厂模式。

阿里Weex- http://alibaba.github.io/weex/ 。现有的开源跨平台移动开放项目如Facebook的React Native和微软的Cordova.

ionic 框架,mui框架等。

-- hybrid,主要意思就是native原生Android和h5混合开发。对于native端来说只要使用对应的容器去展示就可以了(对于Android来说这个容器当然就是WebView)。
  何为hybrid,我们来思考下面几个场景: 
  场景1:前端那边的页面有一个按钮,点击这个按钮需要显示一个native的组件(比如一个toast),或者点击这个按钮需要去在native端执行一个耗时的任务。 
  场景2:还是前端页面有一个按钮,点击这个按钮的逻辑是:如果登录了,则跳转到相应的界面,如果没有登录,则跳转到登录界面。而这个登录界面是我们native维护的。 
 看完上面两个场景,相信大家也发现了一个问题,hybrid这样的开发方式有一个问题需要解决,那就是前端和本地的通信。 

-- Hybrid三种不同的解决方案:
  方案一:使用PhoneGap、AppCan之类的中间件,以WebView作为用户界面层,以Javascript作为基本逻辑,以及和中间件通讯,再由中间件访问底层API的方式,进行应用开发。这种架构一般会非常依赖WebView层的性能。
  方案二:使用Adobe Air、RubyMotion、Appcelerator或者是Xamarin这种非官方语言的工具,打包成原生应用的方式开发。为什么笔者会将它们定义 为Hybrid App,主要是它们并没有很单纯地使用原生提供的语言进行开发,而是通过对开发者提供友好的开发工具,并折中地把这种开发语言转换成原生语言,最终打包出 整个应用,所以也属于混合应用范畴。
  方案三:在开发原生应用的基础上,嵌入WebView但是整体的架构使用原生应用提供,一般这样的开发由Native开发人员和Web前端开发人员 组成。Native开发人员会写好基本的架构以及API让Web开发人员开发界面以及大部分的渲染。保证到交互设计,以及开发都有一个比较折中的效果出 来,优化得好也会有很棒的效果。(当年Facebook Three20就使用该方案)

-- Hybrid
Js/H5/Hybrid- http://blog.csdn.net/dj0379/article/category/6010009
Android高级之第十一讲Hybird开发- http://blog.csdn.net/reboot123/article/details/51669303
WebView开发高级技巧之加载网页以及JavaScript,加载进度条- http://blog.csdn.net/qq_26787115/article/details/52195970
 

-- JsBridge 混合开发

Android中使用WebView与JS交互全解析-http://blog.csdn.net/u012124438/article/details/53371102 ,  http://blog.csdn.net/jdsjlzx/article/details/51376739

为WebView中的Java与JavaScript提供【安全可靠】的多样互通方案- https://github.com/pedant/safe-java-js-webview-bridge

WebView中的网页进行交互,点击网页通过接口进行原生处理,

Android 各个版本WebView- http://blog.csdn.NET/typename/article/details/40425275

JsBridge基于https://github.com/lzyzsd/JsBridge 

优化改进而来的Android JsBridge-https://github.com/hjhrq1991/JsBridge

JSBridge框架,JS和native通信的桥梁- https://github.com/firewolf-ljw/WebViewJSBridge 

webview实现h5视频全屏播放兼容Android7.0,自己添加webview库兼容全部版本-http://blog.csdn.net/insist_hui/article/details/58172859  https://github.com/lshAndroid/WebviewTBS/tree/master
JsBridge实现Js与Java的互相调用- https://github.com/lzyzsd/JsBridge 

WebViewJavascriptBridge框架- https://github.com/marcuswestin/WebViewJavascriptBridge


> 移动端开发者眼中的前后端分离,hybrid,native原生Android和h5混合开发
移动端开发者眼中的前端开发流程变迁与前后端分离 http://blog.csdn.net/abc649395594/article/details/52259409
前后端分离的思考与实践(一) http://blog.jobbole.com/65513/
Web研发模式演变- https://github.com/lifesinger/blog/issues/184
javascript实现继承的方式- http://blog.csdn.net/it_man/article/details/8972008
Android高级之第十一讲Hybird开发- http://blog.csdn.net/reboot123/article/details/51669303
PhoneGap 底层框架实现原理 详解-http://blog.csdn.net/yyh352091626/article/details/49148645
浅谈Hybrid技术的设计与实现第三弹——落地篇 - http://www.cnblogs.com/yexiaochai/p/5813248.html
移动混合应用Hybrid App开发实战 - http://mobile.51cto.com/web-460529.htm

 

Android中Java和JavaScript交互- http://droidyue.com/blog/2014/09/20/interaction-between-java-and-javascript-in-android/index.html

 

-- Hybrid项目交互协议:
① URL Schema;② JavaScriptCore

-- 适合Hybrid的项目为:
① 有60%以上的业务为H5;② 对更新(开发效率)有一定要求的APP

-- 不适合使用Hybrid技术的项目有以下特点:
① 只有20%不到的业务使用H5做;② 交互效果要求较高(动画多)
任何技术都有适用的场景,千万不要妄想推翻已有APP的业务用H5去替代,最后会证明那是自讨苦吃,当然如果仅仅想在APP里面嵌入新的实验性业务,这个是没问题的。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值