第158期移动Web技术的春天来了

Posted 前端早读课

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第158期移动Web技术的春天来了相关的知识,希望对你有一定的参考价值。

【早读君聊聊】周末了就不发技术文~~今天早读君推荐这篇是新闻很振奋人心的,JS要一统江湖了~哈哈。。早先的node.js,现在又要涉足native App开发~~~前端的价值越来越明显了~

几个小时前, React.js Conf 2015会议上,Facebook发布了React Native,可以基于目前大热的开源javascript库React.js来开发iosandroid原生App。而且React Native已经用于生产环境——Facebook Groups iOS应用就是基于它开发的。Facebook也已确认,这个项目很快将会开源。

根据ProgVille的文章,React Native的原理是,在JavaScript中用React抽象操作系统原生的UI组件,代替DOM元素来渲染,比如以<View>取代<div>,以<Image>替代<img>等。


在幕后,React Native在主线程之外,在另一个背景线程里运行JavaScript引擎,两个线程之间通过一批量化的async消息协议来通信(有一个专门的React插件)。

UI方面React Native提供跨平台的类似Flexbox的布局系统,还支持CSS子集。可以用JSX或者普通JavaScript语言,还有CoffeeScript和TypeScript来开发。有评论说,React的UI层模型要比UIKit好很多。

更好的是,由于基于Web技术,开发起来可以像在浏览器里那样随时在仿真程序中查看应用运行情况,刷新一下就行,无需编译,爽吧。

我是 Jordan 我在 React 团队(也是 React Native 团队). 这个线索已经有一些很棒的问题和看法了.


React Native 围绕着生产力(当然还有能够使用 React 这套放弃)提供了大量的方便,不过因为有很多关于性能的问题, 我想我还是分享一些我个人关于它的看法.

React Native 和其他的方案区别很大, 由于:


我们并不是希望给你一个神奇的戏法能让在你不改变任何的开发哲学/习惯的情况下就能自动生成出很棒的移动应用体验.


如果你在做移动开发, 你想要很棒的用户体验. 你必需是要关心性能, 必须关心怎么编写精细的交互.


任何优秀的移动端体验后面, 都需要很专心的人. 不要相信别的说法.


不过, 我感到相比而言要达到那样有些的效果, React Native 要求开发开发者做的工作, 比其他我见过的备选方案要做的工作要少得多.

React Native 完全不用 DOM. React 原本用来解决浏览器开发中出现的, 不可预测的编程实践当中常见的性能问题,
但是也仅仅能帮你做那么多而已.
React Native 提升了一个层次, 不止于浏览器所能做的.
React Native 展示的 ReactJS 总是更多地偏向于 "zero DOM" 而不是 "virtual DOM"(跟大家以为的相反).

React Native 也很特别, 因为我们想要继承一些 Web 开发当中好的地方.
这是因为我们只是想要性能, 想要 Native View 的资源的控制能力, 而不是要抛弃 Web 开发优秀的内容.


在 React Native 当中, 你可是使用 CSS Flexbox 对 Native View 进行布局,同时有很多很熟悉的样式属性, 但是不会有泛滥的 CSS style reflow.事件系统也跟现在 React 应用当中的一致, 因为类库的代码是一样的.按照 Web 开发中让我们高效开发的样式/布局的子集来构建应用,那样开发者就能在当下就构建优秀的 Web 应用, 而不是把时间排到未来.


我认为真的, 相比鼓励开发者抛弃任何哪怕有点像 Web 技术的东西然后学一门完全不同的工具链(甚至两门三门), 这样要好得多.

React Native 特殊的地方还在于它可以用 JavaScript 来写高质量的应用.
在浏览器当中, 你很可能要对付一些低层级的限制, 然后你没有办法.
或者是不能访问平台上的控件(在 scroll view 当中包含 physics/Maps),
或者是你在实现当中总是被图片解码干扰, 没什么办法.

用 React Native 的话, 你可以有一些办法了.
你可以在 ReactJS 应用当中使用那些永远不会用 JS 来实现的 view(比如地图),
而且你的构建当中可以用一些更高的执行粒度的 block,
(多线程解码的 <Image />)(不使用 DOM 的 <View > block)
结果是这带来了质量方面到了空前的层次的感觉, 而且对应平台的特征.


以上是关于第158期移动Web技术的春天来了的主要内容,如果未能解决你的问题,请参考以下文章

移动Web加速技术月报第2期

即时通讯技术文集(第13期):Web端即时通讯技术精华合集 [共15篇]

超强可观测体系,助力移动云高效运维| TeaTalk·Online技术探秘系列第1期

第162期Web技术日报(2015-06-03) 基于GOLANG的垂直个性爬虫框架

第1131期对于网络爬虫技术的攻与防

第四期技术沙龙——浅析SpringMVC工作原理