上一页 | 1 |
/1页
go

主题:原生还是HTML5,Facebook告诉你

发表于2017-03-29


  很多人会接触到一些HTML5来代替原生APP的框架,React Native,ionic。但是,很多人也会陷入学习原生语言还是html5和js的坑里。事实上,世界知名的社交网络公司Facebook也曾经被这个坑深深的吸引住,甚至被当时还不是很完善的技术带来了不少的麻烦。




查看更多精彩图片>>


  比如Facebook app早期的经历,早期的facebook移动端app并不是现在长的样子,不得不说很丑,而且界面太过于草率。让我们来看看曾经的facebook 2.0,完全用基于html5制作的app,facebook还给他起了一个响亮的名字------Faceweb Era。


  我们看到了html的一些特性,快速,且便捷,以至于facebook在很长的一段时间都在推崇html5的好处。但是很快的,内部人员就发现了用html5编写app的弊端,JS bridge的编写量非常的大,完全超过了原生app的体积,而且在有些方面并不能很好的实现原生app的功能,这使扎克伯格不得不承认html5编写app是当时最大的错误决定(这时候还没有使用 React Native)


  那么,当时的facebook为什么会选择html5来编写其app应用呢。其原因有以下几个(基于个人整理的资料推论):


  1.便捷,一次编写,多平台使用


  这个和大多数开发者接触到app开发的时候面临的选择一样,对于能够便捷开发的html5应用,自然是选择方便的开发方式。因为facebook那时的主要平台还是在facebook.com的网站上,对于app的接触是少之又少。所以那时候的facebook就想尽量减少在app上的精力。


  2.流行趋势


  当时的html5编写原生应用的趋势已经初见雏形,人们都看到了html5的可能性。facebook也有受到一部分的影响,从而选择了html5.


  3.团队技术不足


  对比了facebook各个时期版本的情况,巅峰时期的facebook app达到了 123mb的超大体积,这无疑是很难堪的一个表现。即便facebook是全球知名的社交网络公司,也没有做好足够的优化。到如今,facebook也慢慢的成长起来,新的React Native使其只有68mb的大小。


  facebook为什么又要回到原生


  其实这个问题显而易见,充分发现了当时使用html5的不足之后,扎克伯格便意识到了使用html5是个很严重的错误,原因并不是html5不好,而是其html5的技术还没有达到很好的水平。但是,使用html5代替原生app的开发很显然,是可行的。既然如此,那么很多人会想了,既然是可行的,那么为什么还要讨论这个问题呢?


  facebook回到原生开发也并不是完全原生,其React Native技术也并不是完全的html5,原因就是在Native上,代表了半原生半HTML5的开发方式。为什么会这样呢?


  Facebook在很长一段时间的HTML5开发过程中,发现了一些优化点。将当时React用在Ins网站开发上的UI框架扩展到了原生应用的开发上,而并不是像ionic的之类的HTML5开发框架的“一次编写,随处运行”,而是“一次学习,随处可写”。


  所以,facebook回到了原生,并且利用React进行了原生的优化,直接使用了原生app的UI组件,并不是单纯的js和html5,才出现了后来完善的React native,腾讯也是其忠实粉丝。


  究竟是原生还是HTML5


  事实上,这个问题的讨论结果已经显而易见了。


  像facebook这样的公司都选择了native和html5的结合,说明了两者的优缺可取之处。但是facebook也曾经被html5坑过,说明了像这种技术构架复杂且高并发量的应用,原生的支持还是最好的。说起来react native也就是将原生组件完成了通过js代码的调用,根本还是在native上。所以,如果要开发技术构架和服务复杂的后台应用,原生和react native是最佳选择,即便是ios和android是学两种不一样的语言,也要学下去。或者就是直接学习react native,这也是技术支持比较完全的应用框架了。


  如果后台的技术构架不是很复杂,而且只是需要一个app来展现你的服务,自己又对swift,oc和java不是很熟悉的人,那么这个时候html5代替原生开发的效果就显而易见了。


  需要了解详细请点击查看h5培训机构交流学习互动


上一页 | 1 |
/1页
go