webApp和Native综合开发一款APP
2015-10-14 11:20
323 查看
目前我所在的公司就是有native和H5这块,不得不说H5省了我们很多事情。
只要一套H5,Android和IOS都不用愁了。
目前综合来说单纯的NativeApp和单纯的webApp都不是最佳的。很多公司都是和我们一样使用两者结合。
这个肯定是一个趋势,目前我们的新版本是加入两个活动来推广我们的app,活动这种东西其实用H5实现是最完美的,因为这样不会造成代码的臃肿,活动结束就关闭入口就行,本地代码也不会有多余的。
目前我们实现Native和JS交互的思路。
首先代码互相调用。
请查看我的上篇博客:初次尝试用HTML/JS开发Android。
然后,先把我目前知道的东西分享出来,才入职一个月有的代码还没有完全熟悉。
然后我们会在loadUrl这边判断。
判断他的开头是什么,如果是http://我们就直接加载,如果是比如:native://我们就有个工具类ActivityJumpProxy里面去判断,然后再进行跳转到本地界面。大致的意思是,如果你在网页上有个按钮,点击之后到跳转到本地的某个界面,就可以这样去实现。
下面是大致的核心代码:
现在我相信大家肯定有了思路了,
但是对于跳转网页是比较简单的,但是对于跳转本地还需要注意下,比较你需要在后面继续添加不一样的字段去区分不一样的跳转,就像Android里面的ContentProvider一样,里面的UriMatcher的作用是类似的。
这张图大致就清除了,具体的规则还是需要自己去定义,如果H5是自己写,那也还好,如果有专门的H5团队就需要去定义合理的规范了。
然后我们根据不一样的东西去跳转各种activity,这样是不是就合理的将他们结合了。
大致就到这里,待续。。
只要一套H5,Android和IOS都不用愁了。
目前综合来说单纯的NativeApp和单纯的webApp都不是最佳的。很多公司都是和我们一样使用两者结合。
这个肯定是一个趋势,目前我们的新版本是加入两个活动来推广我们的app,活动这种东西其实用H5实现是最完美的,因为这样不会造成代码的臃肿,活动结束就关闭入口就行,本地代码也不会有多余的。
目前我们实现Native和JS交互的思路。
首先代码互相调用。
请查看我的上篇博客:初次尝试用HTML/JS开发Android。
然后,先把我目前知道的东西分享出来,才入职一个月有的代码还没有完全熟悉。
然后我们会在loadUrl这边判断。
判断他的开头是什么,如果是http://我们就直接加载,如果是比如:native://我们就有个工具类ActivityJumpProxy里面去判断,然后再进行跳转到本地界面。大致的意思是,如果你在网页上有个按钮,点击之后到跳转到本地的某个界面,就可以这样去实现。
下面是大致的核心代码:
if (TextUtils.isEmpty(url)) return; // 网页连接处理 if (url.startsWith("http")) { jumpToBrowser(context, url, type, pushMsg, rightButtonConfig); } // 应用内页面跳转处理 else if (url.startsWith("native://")) { startActivityWithNative(context, url, bizCallback); }
现在我相信大家肯定有了思路了,
但是对于跳转网页是比较简单的,但是对于跳转本地还需要注意下,比较你需要在后面继续添加不一样的字段去区分不一样的跳转,就像Android里面的ContentProvider一样,里面的UriMatcher的作用是类似的。
这张图大致就清除了,具体的规则还是需要自己去定义,如果H5是自己写,那也还好,如果有专门的H5团队就需要去定义合理的规范了。
然后我们根据不一样的东西去跳转各种activity,这样是不是就合理的将他们结合了。
大致就到这里,待续。。
相关文章推荐
- WebApp 元素上下居中
- webapp第一次手势提醒
- Eclipse+Maven创建webapp项目
- webapp中设置apple-touch-icon
- 于Heroku平台部署maven webapp(java web)工程
- WebApp 开发框架推荐以及优缺点分析
- 移动webapp页面适配方案
- 微信公众号WebApp接管返回键实现“再按一次退出程序”功能
- webkit webApp 开发技术要点总结
- 转向移动webApp开发的前端工程师必要的代码,手机webApp触摸左右滑动切换轮播图片广告
- webapp的favicon应该怎样组织代码
- mye发布web项目到jetty7报错:java.lang.ClassNotFoundException: org.eclipse.jetty.plus.webapp.EnvConfiguration
- 如何ios中间Safari在开发了类似的native app像全屏webapp
- 基于CSS3的WEBAPP横向滑动模式演化
- Eclipse+Maven创建webapp项目详解
- 手机WebAPP设计注意事项和解决方法
- 【webapp的优化整理】要做移动前端优化的朋友进来看看吧
- 21个webApp前端开发问题
- webapp开发——jqmobi框架的快速使用
- WEBAPP开发技巧总结