时间:2015-12-28 12:01:53 来源: 复制分享
做为一名产品经理,你是否遇到过这样的窘境,“帮我把字体调成16号呗,颜色变成#FFFF00FF,老大说这里最好改一下”,作为一名app的开发只能无奈但心里窃喜的告诉你,“只能等下个版本了,必须要重新发布才能改”,如果你问为什么不能改了就生效啊,那说明你对技术的理解要么真的很差,要么你就是知道这项React-Native新技术所爆发出来的力量。
React Native是Facebook推出的一个用JavaScript语言就能同时编写iOS,Android,以及后台的一项技术,今年9月发布了android版本,又在程序员里面掀起了一波小高潮,不断有喜欢尝鲜的程序员投入到这个领域。
用大白话说,就是从此一名程序员自己就可以创业了,他只用这一门技术,就可以同时写出androidapp,ios app,以及后台应用程序,并且,请注意这里,它可以做到实时热更新(就像网页一样,改了一个字体,随时可上线),app也能做到随时都能更新了,第一段讲的那个需求可以分分钟秒杀解决,不用新发版本,只需在服务器改动一下代码即可,是不是很牛逼,是不是很牛逼,是不是很牛逼,真的很牛逼。
到这里,你只需要理解一句话,就是Facebook提供了一套解决方案,它利用JavaScript作为开发语言,可以同时来编写前端,移动终端,后台应用程序。
我们再来讲讲,为什么React Native受到了如此大的关注,以及它的优越性到底在什么地方。
目前,一个成熟的互联网产品基本囊括了:移动终端和网页两种主要形态。在移动终端app和网页的开发历程中,涉及了很多技术角色:前端开发(俗名叫做网站的),移动终端开发(android和ios开发,现在满大街都是),后台开发(他们的程序大多没有界面,主要是为网页和app提供数据和保障服务的稳定性),每个角色各司其职,分别需要不同的技能,比如前端开发需要精通html,css,javascript这些基本的web语言知识。Android开发用Java(这个词读“扎瓦”,别读成了“加瓦”,读成这样很Low B的)语言编写,ios开发用Objective-c(把他想象成当年过计算机二级的那个C语言就可以了)编写。后台开发,有的公司用Java,有的公司用C++,用啥的都有,能满足性能需要就可以了。
已经看崩溃了吧,对于一个非计算机专业的人,根本不会理解他妈的为什么要存在这么多语言,为什么这里要用C语言,那里要用C++,有的地方要用Python,而又有很大的一个人群对你高呼:“PHP才是世界最好的语言”。其实他们每种语言都有不同的使用场景,有的语言效率高,有的语言语法更简洁漂亮,有的是专为后台而生,有的是特定场景下的唯一选择。如果你还听不懂,我们就用大白话做个比喻,为什么避孕套有的是螺纹的,有的是颗粒的,有的是延时的,有的是超薄的,还有一个品牌号称一只手就可以打开的,它们也都是依据个人身体状态,以及不同场景分别发挥各自的强项。你随便类比,任何一个领域,都有很多不同的工具来满足不同的场景,是需求决定了当前状态。
现在好了,React整套解决方案完成了江湖统一,FaceBook也号称这们技术是“Learn Once,Write AnyWhere”,学习成本只有一次,却完成了所有开发角色的统一。
这意味着:
app将来都是可像网页一样热更新,随时发布。
对于一名开发人员,将再也没有前端,终端,后台的区分,他所关注的就是做一整套应用程序,人力将得到最大幅度的整合与释放。
代码复用将会是主旋律,因为是一种语言,大家重复造轮子的成本会越来越节省。
目前,React Native也还是有一些缺点的,比如他的sdk组件包size还比较大,crash还比较多,在ios上支持的内容已经相当不错,android还属于初级阶段,但是目前最新的版本也才是0.16,相信再过一年,一定会牛逼闪闪。
微信搜索“IT之家”关注抢6s大礼!下载IT之家客户端(戳这里)也可参与评论抽楼层大奖!