Rumah > Soal Jawab > teks badan
最近发现很多H5app的框架,如react-native,wex5,phoneGap等。开发者只要写html5+js+css就可以了,网页端打开无可厚非,而打包成android客户端,iOS客户端的时候,上面的按钮文字等界面,用的是网页加载的还是全部转化成原生的控件呢?如iOS的UIView UIbutton
天蓬老师2017-04-17 17:31:25
大部分框架(比如PhoneGap)并未将html5转化为原生控件,而是使用native
webview去加载html,跟你打开浏览器浏览网页是一样的,以这种方式来实现跨平台。但这些框架又提供了js调用native代码的能力,这样前端语言开发的业务逻辑可以访问到一些系统原生的功能(电量、定位等等)。这种方式构建就是hybrid应用,在UI方面,简单的布局、空间使用html5开发,复杂布局和控件使用native语言开发,框架提供将native语言开发的控件实例化并加入到应用布局中的能力,所以hybrid方式灵活且成本低。
由于浏览器渲染html页面性能仍然无法媲美native,所以像react-native这种框架直接使用native控件,但控件的描述是基于框架自定义的js语法而不是html5,因为将html5转化为原生控件太复杂(html标准很复杂),并且大部分框架的目的是跨平台(android ios),要做转换每个平台都得做,这与开发一个web浏览器有什么区别呢。
大家讲道理2017-04-17 17:31:25
目前来说,html5在移动设备上的顺滑度还不如源生的一些控件。
二者相结合来开发一个app是更好的选择。
常用固定的内容用源生api,不常用或者页面更新频率高的内容用html5来构建,提高开发效率和数据更新时效性。
黄舟2017-04-17 17:31:25
首先,h5app不知道你的理解是不是app里嵌套网页。=。=!其实不全都这样子的。
比如ReactJS Navite其实应用一种『曲线救国』的方法,你写好JS代码后还是要解析成原生的代码的。
伊谢尔伦2017-04-17 17:31:25
看是什么类型的App了,如果只是普通的新闻客户端,不追求调用什么系统功能,直接App里套个WebView访问WAP站,本地实现记住密码和自动登录就够了.
怪我咯2017-04-17 17:31:25
想用h5代替源生 这几年看是没戏 至少我可以说局限性很多 h5炒那么火 做游戏的不还是cocos或者unity
我知道应用很多 但是不烧钱的应用里 还是游戏赚钱的最多
大公司更不缺android ios工程师
但是小公司做个信息发布类应用还是没问题的