欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

用HTML5开发App真的好嘛?

程序员文章站 2024-01-28 10:05:10
...
一直信仰“每门语言最好用在其专长领域”的玄学。
最近被极力推荐用HTML5开发App,还在啃Swift和Java的我看到人家用前端框架几小时做出了我拿Xcode/Android Studio一整天才能做出的界面效果(我刚开始学做App,用时长的话求轻喷),备受打击•﹏•难道HTML5可以在大多数情况下代替原生App了吗?
另外,HTML5的性能怎么样?一直认为它做出来的App只是一个全屏的、内嵌网页的浏览器,但有人说并非如此,HTML5做的App还要被IDE进行一系列处理才能转换为App,是这样吗?

回复内容:

童话里都是骗人的! 不知道题主说的是 H5 做的 Web App 还是伪装成 Native 的App.
如果是 Web App 的话:
你能做到 Flipboard 那样拿的确可以说体验与 Native App 有一拼。
或者说能研究明白 FB 新出的 ReactJs 没准也可以。

但关键问题有两个:
  1. 大多数人都没有 Flipboard 团队的水平;也不一定能用好 ReactJs.
  2. 你能不能保证全部交互以及使用都是在自己的框架内的?一旦有一个点击结果不是自己的 H5 应用给设计好了的,或者说是外链,那直接全部体验崩溃一窥啊。参见 FB 的 Paper,Native 都很难保证这点,更何况 H5 App?
对了,你在微信里打开过那种恶俗的还自带背景音乐的 H5 网页没有啊?恩,体验不错吧(逃 在我看来H5是未来,但未来始终是戈多,大家都在等待。
目前的H5框架都存在一个问题,API不够多,当硬件、系统版本问题出现时,那么混合开发不可避免,那么这个时候解决问题的难度比以往任何时候都麻烦,必须存在一个Android、iOS、H5都比较熟悉甚至精通的。
总而言之,快速成型H5可能会很快,但是APP做大做得更多制定内容时,维护、二次开发的成本不一定会低 并不好,未来也不看好 其实有的时候混合在一起才是最好的。简单一点的混合,比如资讯类的,可以用HTML通过js重新排版,做出来很好看的东西。在比较要求高的东西,比如listview,拖拽,上传,下载,用原生会有很好的体验,因为你可以掌控所有的一切。例如一个listview,你可以告诉手机什么时候启动线程去请求图片,什么时候释放资源,什么时候创建本地缓存。这些我相信用html也可以做,但是做的并不享受,而且结果也不会很好。用js去控制线程,文件流之类贴近机器的操作,不是用js做他最不擅长的事吗? 凡事易学者,必难精。 在UI方面,HTML5是以申明方式使用较为高层次的组件来拼UI的,你拿 Xcode 的 Interface Builder 画其实也很快的。其实 CSS / Javascript 想要学好也不容易的。但是 iOS 和 Android 的系统直接提供匠API层次都比较低,而js世界连直接操起jQuery折腾DOM都觉得过时了,在同等熟度的情况下,web app出活快还是可能的。不过 web app 受运行环境限制比较大,环境没提供的特性,要实现就会很麻烦,而需要直接访问硬件就麻烦大了。

说HTML5 App就个浏览器也没错,只是要让javascript能访问系统能力肯定要做些扩展的。 体验不如native,特别是和用户的交互,卡顿,延迟,闪屏,屏幕适配都是问题 目前还没有什么纯H5的中大型app成功的例子。我们公司也有一款app用sencha开发的,没什么图片,也没什么动画效果,列表控件里数据超过50条帧数就低的没法用了 不好,目前的状态是H5多用于消费级代码