整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

h5是否能反扑超越原生

h5是否能反扑超越原生

日话题:

h5是否能反扑超越原生?(h5 针对于微信的小程序) - 骑行西藏

1、能算是趋势吧,记得之前谷歌要做自己的WEBOS是不是也没有做起来? - 赵义杰

2、低频应用可以做做,什么黄历、翻译、地铁公交查询、菜谱啥的。- 金亮

3、api开放太多了对机器本身安全是问题,开放太少了h5功能实现又不如原生。 - 小刺猬

4、apple不会把它下架… - 金亮

5、哈哈,真有可能 。“小程序开发后,不能直接发布,需要经过审核,类似 App Store” - 小刺猬

6、路径变短了,还是靠谱的 - 种树人

7、在我的地盘还敢自己搞个应用市场 - 金亮

8、然后微信就可以取带appstore了。。。 - 小刺猬

9、小程序可以离线工作,公众号无网就挂了 - Ado

10、啥时候无网? - 零度西瓜

11、打个比方啊。工具类的,如美颜图片时不需要网络也可以,与浏览器插件有点像 - Ado

12、完全替代是不可能的 - Song

13、那肯定不可能。只能代替小部份,我得让我孩子学学H5去了。 - Ado

14、听张小龙说也没打算替代APP - Song

15、对16G的iphone是个福音,部分app可以卸载了。 - 金亮

16、苹果会同意吗? - slee

17、同感,苹果会同意吗,有点擦边球的感觉 - Xiangz

18、你都绕过appstore审核了,苹果觉得不可控制了 - slee

19、H5不能超越原生,善长的方向不一样。可能的是替代原来原生不善长却在做的事情,让技术方案更合理,减少因为技术错用而加班的时间,兄弟们早睡才好。恶长尽量避免不用啊,何必为了技术而技术,更高效简单的解决需求就好 - 胡继伟

20、h5单一个广告就烦死你了,h5的网页, 往往会因为运营商,wifi等,弹广告,客户都投诉死你 - vk

21、https呀 - 姚文强

22、h5 不兼容,css能调死,对兼容和样式要求不高的 h5能替代原生 - 荒野猎人

23、类比PC的话,应该就是web应用和桌面应用吧

追求效果和性能的,还是会走原生

但内容类,工具类的,会越来越多用wap app的形式吧,而且以后的效果和性能会越来越好 - 轩辕?亮

24、其实gui的趋势就是,通过静态的引擎和动态的脚本语言来实现界面渲染,语言可能会换,但是趋势是这样 - tiyee

25、图标会不会藏的很深?如果需要点击4、5步的话,就太麻烦了,微信支付需要点三步,支付宝只要一步 - liyang

26、h5的通信是 js -> 浏览器 -> 操作系统

原生的通信是 java/swift -> 操作系统

要把各方面做到h5与原生的一模一样,那这个浏览器得多强大。所以h5只能在一些场景下替代原生的,不可能都替代原生的,就像B/S 和 C/S 一样 - 昱木北兰

27、如果h5体验提上去了, 如果还能调用一些系统api, 感觉会很逆天。 至少目前看微信小程序的愿景就是很不错的。但我觉得有个客户端比起依托浏览器,有时候更容易让人去使用。- Imp

28、跟浏览器无关,浏览器只是个壳子,关键在于渲染引擎,如果你用原生的obc或java实现web一样的动态渲染,速度不会比web快,因为你写的代码不如webkit,而且语言效率也不一定比cpp高,你现在看到的不少桌面程序,看起来是c++写的,其实都是内置了webkit或修改后的webkie来做界面部分的 - tiyee

29、小应用界面渲染估计也是基于css-layout的吧,渲染接近原生了,然而其他方面来说超越原生现在也不会,至少对开发者来说能使用的原生功能还是受限的,虽然相当一部分内容,工具,店铺形式的应用还是够用了。 - 肖龙

30、恩恩,反过来,这个渲染引擎与原生的方式也是一样的道理 - 昱木北兰

31、是的,只是浏览器的这个引擎复杂的多,灵活的多,容错性也高的多,牛逼的前端,基本都看过webkit源代码,我倒是觉得 h5和原生,就类似于php与java,php本质是一个中间语言,对开发更灵活,但是效率略低 - tiyee

32、不能这样说吧,php也是运行在phpvm上,java在jvm上,js在v8上 - 黄隆

33、我觉得h5 替代 原生的 ,就像以前说 B/S模式 要替代 C/S 模式 - 昱木北兰

34、最大的吸引力在于前期渠道推广费用的降低,现在各大应用分发渠道的CPA高得吓人,下载到注册这一环节的流失率也不低,最后还要想着怎么激活用户。。。。 - 廖强

35、还以为C/S、B/S的优缺点,也就大学里老师上课扯一扯,用户体验、版本更新什么的,各有各的优缺点,各有各的场景,移动互联网之后也因为发版本与产品运营活动时效问题,解决方案是大家都用了Hybrid的方式,以及现在各家开源的很火的热更新技术。

PC时代和移动时代的不同,主要是PC上操作浏览器方便的多。移动互联网后,又有其他问题了,就目前的移动原生,有明显的信息孤岛问题,移动Web也有问题,搞个HTML5游戏,都要担心用户懂不懂的入口在哪里。 - Xiangz

36、先说结论H5还是比不过原生。

1.性能上H5没有原生强势,但是性能并非H5的主要目的浏览器的产生本身就是为了能够访问网络上的资源。移动端也是如此。那么H5的作用在于能够呈现网络上的内容,而性能本身与原生系统来比,性能处于靠后的位置。毕竟移动端的H5现在都有中间层。无论如何都不可能比原生的性能好。

2.重量级APP原生和H5几乎有深度整合,密不可分。电商类的APP几乎都是重量级,功能繁杂,在H5和原生上也都有深入的切合度,可以这样说离开原生纯H5几乎没有办法满足要求。

3.开发速度上,H5非常高效,也就能够实现产品快速试错,也没有跨平台这一要求。如果说原生的话iOS,Android,WP就得三种类型的技术。H5更多的是前端的技术。

4.针对微信(1)技术:目前我看到的资料是,微信打开网页的内核是Chrome的Blink内核,与QQ浏览器使用的一套内核,他们称之为X5。X5在Blink的基础上进行了定制,也就导致了标准的HTML,Css等再X5内核上与我们平时在PC上开发看到的效果不一致,而且X5的支持没有官方标准,只能试。(2)产品依托于微信平台,也就是说微信有生杀予夺的大权。在产品用户量增长到一定程度的时候,必然要面对还是要开发原生的问题。此时微信会不会那么慷慨的再微信里给产品的APP倒流?我个人认为在微信平台里开发“小程序”,面临的问题跟APP分发渠道一样。毕竟一级的页面资源就那么点,充其量也不过十几个产品位置。那广大开发者的应用分发问题如何处理?

5.这两天的“小程序”以这段时间看到的文章说,开发环境和语法是单独的一套。就跟React一样。但是React学了可以应用于前端开发无论PC端还是移动端都行,并不特别限制。而微信这个只能在微信环境下。也即是说技术价值不高,与个人技术成长来说,也没有意义。 -- 苹果

37、学习成本应该不高吧? - 陈亦

39、学习成本不高 但是平台使用太过限制,如果是纯使用不研究那么深的话,跟React学习难度应该一样。而且我个人以为,微信不会使用第三方技术,还是会在第三方技术之上,自己重新立一套。 -- 苹果

40、就算只是限制在微信这一个平台上,价值也不低 - 轩辕?亮

41、h5的平台限制可以忽略,基本可以微信平台运行,可以打包成app,也可以浏览器运行。 - lu09ian

42、没啥技术含量,对公司有价值,未必对个人就有价值,做的再好,也是个熟练工罢了 - tiyee

43、第三方服务小程序 --> 微信云OS <-- 移动终端原生OS - Xiangz

44、对 我想表达的意思也是对个人没有价值 -- 苹果

45、Native要是能热更新就好了,或者说Apple能秒审核通过 - Daniel

46、我说的就是对公司的价值~.~ - 轩辕?亮

47、是React Native 一类的,打包出App,还真不一定在浏览器能用肯定是要改的 - Xiangz

48、@lu09ian 这个打包能运行必然是不可能的。因为微信开发还有个JSSDK 只能在微信环境里用。比如说分享,微信支付等等,如果要自己打包 那就不要用微信这个JSSDK的功能 ,分享,微信支付,调用摄像头 原生能力都在JSSDK里 - 苹果

49、这些只是接口,占的代码量很小 - lu09ian

50、问题是 功能没了啊 ,比如说上传头像的功能,打包到其他平台 怎么办> - 苹果

51、基于微信生态的,整体开发起来,其实并没有减少开发成本,反倒多了一个微信平台 - Xiangz

52、现在就是抢小程序的红利。他的实现思路,构架也是可以值得借鉴的 - Cesar

53、app就算能秒审也得用户愿意自动安装更新啊 - 肖龙

54、就像有了操作系统,开发人员不需要再去处理底层硬件

对程序员的需求更多的转向业务逻辑的实现

微信小程序是把抽象封装更往上了一层

应该让公司对偏底层(操作系统,原生应用)的开发人员需求降低

但对于开发来讲,当然是偏底层技术的“更高级”一些 - 轩辕?亮

55、微信自动下载好了吧 - 苹果

56、你开发微信小程序用的组件库都是微信封装提供的..拿到其他地方用很难 - Xiangz

57、是的 不具备通用性- -,微信过审的内容 和 随后他自己下载更新的内容是分开的,尤其这个小程序,都是网页,而且随着开发越来越完整。原生能力:摄像头,陀螺仪,通讯录,硬件加速,音频,视频这些功能都会被集成进微信的开发环境里。到时候,想脱离都脱离不了了- -,有个东西叫MUI干的也是这样的事情,唯一的缺点就是在微信里有Bug - 苹果

58、看目的吧

1、完全基于微信体系

2、初期基于微信体系,后期自建

3、把微信当做一个入口 - Xiangz

59、现在脱离不了安卓和iOS,以后脱离不了微信也什么 - 轩辕?亮

60、这是两个概念吧 - 苹果

61、微信没说这是个跨平台的工具 , 就是想让大家来他家平台开发应用 - 轩辕?亮

62、现在已经是跨平台开发工具了,Mac,Window版本调试工具都出了,后期自建最大的风险在于 微信会不会那么轻松给APP倒流量,在微信里下载APP现在都是白名单 除了自家的APP 第三方一律不让下载,就是那个很有名的 右上角->浏览器 打开页面,微信里还有一种方式,就是把APP放到应用宝上。然后打开应用宝页面

基本步骤是:

导航至应用宝APP页面->检测手机上有没有装应用宝->没装的话,先下载应用宝->装了的话->打开应用宝->下载APP,安装。 - 苹果

63、H5顶多做些辅助,想反超或者替代,难 - 赵义杰

64、纯展示类的可以替代,硬件交互的暂时不能 - 刘鹏

65、微信应用号 就是 加强版的 服务号 - 第一缕阳光

66、H5的性能一直都是个问题 - 蓝至

67、这个话题讨论了很多年,最后是原生开发需求增长,H5需求也增长,不过最近一两年HTML5 发展更快 ,Facebook 和微信都推出了 小程序这样的产品,上周Facebook 推出的H5 平台 - 寂小桦

【其他讨论】

isset($a)?$a:$b的简写很爽,$a??$b,少打很多字了 - 膘叔

很丑.....投了反对票,不过, 没用 - 惠新宸??

做API的时候 function a():array ,至少有一个强制的标准 - 膘叔

还有最新的 nullable - 惠新宸??

这种层面的语法有什么意义, 我就想知道 - 我不叫大脸猫

少些几个字符! - eli

PHP老是突然冒出个变量来。 - 膘叔

我想要个能改变PHP生态的语法特性 - 我不叫大脸猫

编译器友好 - xingxing

特别是获取别人的数据的时候,一个数组里,有时候有$data['id'],有时候没有。。 - 膘叔

是不是要求的太多了 - 我不叫大脸猫

$id=$data['id']??0; 就不会报warning了 - 膘叔

语法 改变生态? - eli

比如像go get那样的东西, 管理依赖,大括号强制不允许换行 - 我不叫大脸猫

特别是版本升级的时候,旧版本可能没有$data['id']这个 下标。能少写很多代码啊。虽然也可以用 IDE的代码模版。。 - 膘叔

版本升级的时候, 有个go vet酱紫的东西处理兼容问题,不然还满大街php5.2的程序,一说你写PHP的就感觉跟看大门的一个感觉,还有就是PHP的扩展管理也不怎么好用 - 我不叫大脸猫

不是用composer和PEAR吗? - slee

网络编程方面感觉啥都有, 但是用的时候又感觉啥都缺, 完全无法跟Java, Python或者go抗衡,群里不是一堆人说cp没啥用么,还都是大神级的人物 - 我不叫大脸猫

我非常喜欢??写法 - 水浸街

我觉得 拿php写网络编程 本身就选错了! 当然 php7 好点! - eli

所以我想写网络编程我就必须学个其他语言喽 - 我不叫大脸猫

原因很简单,$a??$b,如果$a是个计算表达式,好处是很明显的,不过由于php的变量有个$,看起来是挺丑的 - 水浸街

我搞了几个月c。回来再写php 这个$让我尴尬了好多次 - eli

【每日一笑】

韩寒在一篇文章写过,今天买了几个芒果很甜。然后一大堆人在研究韩寒用了什么写作手法,最后韩寒出来澄清说,就是买了几个芒果。

不要过度解读 - Song

【分享链接】

对 Rust 语言的分析 [ http://www.yinwang.org/blog-cn/2016/09/18/rust ]

王垠:编程宗派之我见 [ http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650993843&idx=1&sn=2c614ba3c0815ebac9a707629a88c021&scene=1&srcid=0822rUbyG27NClhxrXM6JFou#wechat_redirect ]

关于 HTML5 被简称做 H5 ,你怎么看? [ https://www.zhihu.com/question/30462183 ]

[Golang]OS系统调用浅析 [ http://blog.csdn.net/erlib/article/details/50264341 ]

使用Go语言工作400天后的感受 [ http://blog.csdn.net/erlib/article/details/50998026 ]

这才是 Angular2 的灵魂! [ http://www.open-open.com/lib/view/open1473923872636.html ]

简易教程 · MINA [ http://wxopen.notedown.cn/ ]

HTTP Header 详解 [ http://www.cnblogs.com/Joans/p/3956490.html ]

http如何像tcp一样实时的收消息? [ http://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651959605&idx=1&sn=21f25087bef3c3a966ef03b824365621&scene=0#wechat_redirect ]

HTML5 vs Native Mobile App Development: Which option is best? [ http://www.slideshare.net/appcelerator/appcelerator-html5-prezfinal ][ 封面图来源]

【其他】

如对上述讨论有异议或更好的意见,请提出或在群里继续讨论

进群方式:公众号后台回复微信号,管理员会拉你入群

onic是开源的移动应用开发框架,便于构建高质量的本地和网络技术先进的web应用程序。Ionic是基于Angular,有许多显著的性能提升,可用性和功能都在不断的进行改进。只需要会一点前端知识就能玩转Ionic。

Ionic的应用程序创建开发主要通过Ionic命令行实用工具(“CLI—命令行界面”),并使用cordova构建和部署本地应用。建立Ionic项目,您需要安装最新版本的CLI和cordova。在你这样做之前,你需要一个node.js的最新版本。这些在我之前的文章有安装教程。

  • 官网地址:

    http://ionicframework.com/

  • 版本更新说明:

    https://github.com/ionic-team/ionic/blob/master/CHANGELOG.md

学习ionic需要了解的知识:

  • HTML5

  • CSS3

  • TypeScript(JavaScript)

  • Angular2+

下面是一些组件的示例,不同系统有不同的样式,下面展示iOS上的。

动作表单-Action Sheets

时间选择器-DateTime

浮动的按钮-Floating Action Buttons

分割按钮-Segment

Inputs-输入框

表格布局-Grid

小芯片-Chip

弹窗对话框1-Alert

弹窗对话框2-Popover

想要查看更多的ionic组件示例,可以在App Store和Google Play下载Ionic2Components应用,该APP即为官方所有组件的展示。

  • 组件在线演示地址:

    http://ionicframework.com/docs/api/

组件只能作用在用户与界面交互上,想要调用原生设备功能就需要cordova,他提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风、GPS等。在应用商店下载Ionic Native即可体验部分插件。

  • 离子原生包装插件:

    http://ionicframework.com/docs/native/


通过以上组件配合使用,即使只懂css3一点皮毛也能做出一个漂亮简单的HTML5 APP,想要了解更多ionic,可以关注我或者在官网查看最新消息。

残酷的移动互联网竞争环境下,HTML5技术一直受到各方关注,“HTML5颠覆原生App”的争论也从未停止过,不管怎样HTML5生态的构建方兴未艾。不过对于移动开发者来说更关心的问题是如何低成本、周期短开发出体验效果好的App,所以当下用HTML5远比赌HTML5更现实。于是,一个一直被提及但是从没有占据过统治地位的概念又一次走进了移动开发者们的视野,那就是跨平台开发。

AD:WOT2015互联网运维与开发者大会热销抢票

目前国内外已经有很多基于HTML5的跨平台开发工具,你并不需要任何的原生应用编程经验,你只需要一些HTML的相关知识,懂一些CSS和JavaScript,运用工具中所提供的各种丰富的功能模块,便可在很短时间内完成App的开发而且让你的App具备完美的原生体验。

推荐几款跨平台工具

1、Appcelerator

Appcelerator的Titanium开发平台使开发者可以通过HTML、PHP、JavaScript、Ruby、Python等Web编程语言开发手机、平板和桌面的原生App。其优势在于它可以让用户轻松地访问超过300个API以及定位信息。

此外,Appcelerator提供针对特定行为或事件定制的统计。App的数据既可储存在云端,也可储存在设备上。

2、APICloud

APICloud是一款“云端一体”的移动开发平台,信仰“云端一体”的理念,重新定义了移动应用开发。APICloud为开发者从“云”和“端”两个方向提供API,简化移动应用开发技术,让移动应用的开发周期从一个月缩短到7天。APICloud由“云API”和“端API”两部分组成,可以帮助开发者快速实现移动应用的开发、测试、发布、管理和运营的全生命周期管理。

2、PhoneGap

PhoneGap是一个免费且开源的开发环境,使开发者可以开发出在Android、Palm、黑莓、iPhone、iTouch及iPad等设备上运行的App。其使用的是HTML和JavaScript等标准的Web开发语言。开发者使用PhoneGap进行开发,可调用加速计、GPS/定位、照相机、声音等功能。

PhoneGap还提供Adobe AIR App以及在线的培训课程,帮助开发者了解原生API并在他们自己的平台上开发移动App。

4、NativeScript

NativeScript是使用移动平台的JavaScript引擎来进行跨平台开发。逻辑部分自然无需多说,关键在于如何使用平台特性。NativeScript是通过反射得到所有平台API,预编译它们,然后将这些API注入到JavaScript运行环境,接下来在Javascript调用后拦截这个调用,并运行native代码。NativeScript是使用大量web开发的技巧来进行app开发,因为工具链和语言都非常熟悉受到了很多前端开发者的欢迎。

5、Kinvey

Kinvey同样是一个为移动应用开发者提供后台创建服务的平台。Kinvey强调加速移动应用开发与销售的“即取即用”理念。Kinvey的中间层与数据层均托管在多个云服务提供商处,包括Rackspace、Amazon与Microsoft。所有通过Kinvey存储的数据都会有四种方式备份:Amazon EC2、Windows Azure、Rackspace以及Kinvey自己的服务器,假如其中一两个出现了故障,用户的数据依然安然无恙。

总结:

关于HTML5和原生App的争论一直在继续,不论最后谁能取胜,开发者更关心App的开发速度和最终体验。合理的使用工具会让开发效率大大提升,甚至达到事半功倍的效果,希望能有一款适合您。

期待未来有一天,App开发可以像在纸上画画一样简单。

声明:IT之家网站刊登/转载此文出于传递更多信息之目的,并不意味着赞同其观点或论证其描述。