React | 高效前端之浅谈
React在国外已被各个公司的各种产品大量使用,大众熟知的INS、Airbnb、Yahoo、ThoughtWorks等,都是使用React来实现UI开发的。很多人认为,虽然React在国外已经被广泛应用,但在国内,仍处新兴萌芽阶段。到底React在国内境遇如何?据海说科技了解,阿里内部系统、支付宝新一代框架、美团内部系统、知乎、滴滴、卖座电影、豆瓣等大型网站及平台正在运用React,或在进行系统重构。毫无疑问,React作为近两年前端三大流行框架之一,正成为程序员们最喜爱的JavaScript框架。自2013年5月开源至今,已有千万网站、APP使用React来进行前端构架,使之成为GitHub 最受欢迎的项目之一。
众所周知,React是由Facebook公司中有智慧的懒人创造的。当年,随着Facebook用户的不断增多,巨大的代码库和庞大的组织使得MVC很快变得复杂非常,其广告部门更是面临着页面不断重新加载而异常缓慢的问题。Facebook对市场上所有 JavaScript MVC 框架都不满意,就决定自己写一套,用来架设 instagram的网站。这样既满足了自身扩展需求,优化了用户体验及管理,还能避免不断的重新编码。React是Facebook对于Web Components的理解与实现,做出来以后,发现这套东西很好用,于是就开源了。经过这几年的沉淀,React越来越强大,暂不提React这几年在国内与BAT之间的矛盾,这其中还有很大谈判空间。仅从大多程序员角度来看,React无疑已成为开发第一选择。
React已经形成一套完整的前端开发生态体系,包括:React.js、React Native 、ReactRenders(ReactDOM、ReactServer 、ReactCanvas) 、Flux 模式及其实现(Redux , Fluxxor) 、React 开源组件、GraphQl + Relay等。React作为一种思想存在,React.js应用于Web端; React Native应用于APP,同时支持IOS和Android应用程序的编码设计和发布,显著减少了为各个平台编码和设置资源所需的时间,成功为开发人员减负。
大多已经采用了React框架的企业,看中的是React稳定的跨平台支持,其性能的水平和垂直扩展性都很好,同时减少了反馈循环,可快速迭代。而程序员们青睐React,也源于它的开发操作性极强:可并行工作,支持用户将图像解码、调整文字大小并渲染,可以将高耗时的UI操作移出主线程,进而提高UI的流畅性并缩短响应时间;先进的手势处理技术,可以更快的响应本地更改;允许访问平台特定的功能和组件,甚至包括小部件;易于阅读,开发人员更易于从代码中获取关键信息。
海说软件始终致力于应用React等优秀技术框架构建国内一流的原生APP。在我们看来,React是最佳的组件化实践,在生产操作上的表现会越来越出彩:
1. React使用一个真正的、全功能的编程语言(JAX)去渲染视图;
2. React可以让开发者更方便的开发同构应用,这是其他 MVVM 框架很难做到的;
3. React解决了很多 SEO 诉求,方便组件的前后端复用;
4. React反应性更新非常简单,当数据随着时间的推移而变化时,你会发现react的真正亮眼之处;
5. 掌握了React,就具备了写多个平台的开发能力;
6. 拥抱了ES6的大量新特性;
7. React周边生态圈异常繁盛,较其他类似框架都更加庞大。成熟的开发者都明白,真正能让项目开发过程享受便利的一定是好的框架+丰富的生态库。这一点,也将是 React对标竞品的优势所在。
React不仅仅有如上的表现。基于自身突破性的JAX、Virtual DOM、组件化、单向数据流等特点(此处特点,将在之后的文章中详细介绍,暂且略过),会在使用中感受到其更简单、声明式的巨大优势。海说软件正是看到了这一强大优势,将继续深挖硬掘,运用以React为代表的优秀框架,帮助企业解放生产力,打造出这个时代最朴素、最富质感、最受大众喜爱的互联网产品。