欢迎访问必发888手机版公司网站!


88必发手机版

MENU

88必发手机版

Virtual DOM是一个存在于内存中的,但如何逾越

点击: 119 次  来源:http://www.khaido.com 时间:2019-12-11

原标题:Taro、Weex、Hippy 齐聚 IMWebConf 2018!

大前端一定是可以预见到的未来的趋势之一(我能怎么办呢)

react-native 60.4k

1、Native与Web之争的融合

在客户端开发,不管是PC还是移动端,Native与Web之争持续了近十年。二者的优劣也很明显:

  • Native开发性能更好;但不具备动态性,界面固定;
  • Web性能差;但天然支持动态变化。

一直以来,二者都想占据对方的疆界,但是从结果来看并没有谁要取代谁的势头,而是相互融合:

  • 大多数团队的移动端都会采用Native+H5的方式来做开发,重要的落地页采用Native开发,较多变化的运营页采用H5的方式实现动态变化,并且使用Hybrid来提升H5的性能。
  • 而在16年,ReactNative、Weex等跨平台技术的逐渐发酵、成熟,大家看到了Native与Web结合的新方式:写的是前端代码,运行在客户端却是Native组件,二者完美融合,做到了性能与动态性的兼得:既具备Native的高性能又具备了Web的动态性。

IMWeb Conf 2018 Native 跨端融合分会场

现在主流的ReactNative还是Weex,参考这篇还有那篇

React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的UI框架

2、崛起的大前端技术

开发中我们经常使用Json作为数据交互的格式,但只适合界面展示或者小部分的配置管理,没有办法对逻辑部分做控制,也是客户端UI固定、逻辑固定的原因之一。而Facebook推出的React则独创了Virtual DOM 机制,Virtual DOM是一个存在于内存中的 JavaScript对象,它与DOM是一一对应的关系,也就是说只要有Virtual DOM,我们就能渲染出DOM。

了解更多:《IMWeb Conf 2018 Native 跨端融合分会场》

不过最近fb的开源协议搞得沸沸扬扬,据说大公司都禁止react了,生怕出什么事。不过我觉得大公司怕是应该的嘛,地主有余粮。小公司其实无所谓,怎么方便怎么来,光脚的害怕穿鞋的吗?在我大天朝这么多人用盗版都不怕,就一个开源协议没必要(个人见解哈)

React

2.1 ReactNative

React 在前端取得突破性成功以后,JavaScript 布道者们开始试图一统三端。他们利用了移动平台能够运行 JavaScript 代码的能力,并且发挥了 JavaScript 不仅仅可以传递配置信息,还可以表达逻辑信息的优点。

当痛点遇上特点,两者一拍即合,于是乎:

一个基于 JavaScript,具备动态配置能力,面向前端开发者的移动端开发框架,React Native,诞生了!

背景

weex是什么?

weex是一种跨平台的开发方案,简单的说就是把iOS,Android,H5的开发合并到一起,可以写一套代码,分别运行在这3个平台,最重要的是用户体验和原生语言开发的时候基本一样。

在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。

2.2 Weex

Weex站在了ReactNative的肩膀上,借鉴了ReactNative的思路,基于Vue,并对很多开发、调试工具进行了优化补强。

这样的跨平台技术,我就问移动开发者怕了吗?

注:传统的Native开发周期较长且不具备灵活性,Android与IOS开发人员需要写两套UI及逻辑代码。而使用RN或者Weex等跨平台技术,不仅具备随时上线、更改的灵活性,还可以实现一端编写,三端运行。无论从灵活性还是节省人力成本的方面考虑,相信技术走向一定会逐渐偏向大前端。

Write once, Run anywhere. 一次编写,到处运行。

React Native App

Facebook发现Hybrid App存在很多缺陷和不足,于是发起开源的一套新的App开发方案RN。使用JSX语言写原生界面,js通过JSBridge调用原生API渲染UI交互通信。

优点:效率体验接近Native App,发布和开发成本低于Native App

缺点:学习有一定成本,且文档较少,免不了踩坑

举个栗子:Facebook、Youtube、Discord、QQ、百度等等

React Native使你能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP。

3、如何落地大前端

这句程序员圈子里十分著名的话,也许你早已听过。事实上,这是 JAVA 语言的 slogan,诞生于 1991 年。语言与平台,天生有着鸿沟,想要逾越,是当时美好的愿景;但如何逾越,确实是一个难题。

必发888手机版 ,Weex App

阿里巴巴开发团队在RN的成功案例上,重新设计出的一套开发模式,站在了巨人肩膀上并有淘宝团队项目做养料,广受关注,2016年4月正式开源,并在v2.0版本官方支持Vue.js,与RN分庭抗礼。

优点:单页开发模式效率极高,热更新发包体积小,并且跨平台性更强

缺点:刚刚起步,文档欠缺;社区没有RN活跃,功能尚不健全,暂不适合完全使用Weex开发App

举个栗子:淘宝、天猫、阿里云、优酷、闲鱼、饿了么等

一统三端这个对我还是比较有吸引力的,rn虽然现在用的人较多,社区活跃,但毕竟是两端。之前在上一家公司有时候还是要写hybird页面,作为一个native开发者,以后用这个写单页面还是不错的哈。

下回就开始weex之旅了~~~~

React Native着力于提高多平台开发的开发效率 —— 仅需学习一次,编写任何平台。(Learn once, write anywhere)

3.1 像投奔移动互联网一样投奔大前端

认识到大前端的趋势,认识到形势的严峻性。技术人员的职业走向不仅仅取决于技术的深度同样也取决于技术方向,假使你很精通.net但是在国内我相信用武之地一定不会比Java大。而我在职业生涯的开端选择了当时并不火但是属于未来趋势的移动开发,做了先驱者,随着移动互联网的发酵,自己也迎来了职业生涯的甜蜜期,当大批开发人员涌入移动端开发之时,我已经是有经验的移动端开发了。

互联网的行业特点决定了知识更新比较快,某项技术可能刚成熟就会被别的技术所替代,因此开发同学在钻研那些不变的原理的同时也需要注意行业技术的变化,以免被时代所拉下。因此对移动端同学,我强烈建议想当年投奔移动互联网一样投奔大前端,未来一定时间之内的研发体系一定会围绕大前端,如果固步自封,迟早会遭遇困境。

虽然几代的程序员,前赴后继地为这个梦想而努力,但遗憾的是,到 2018 年的今天,世界上还没有一个完美的方案。反而,因为程序在不同虚拟机或系统上执行的差别,很难确保正确性和稳定性,甚至造成了一个坊间笑话:

ionic  33.4k

3.2 前端基础:Html+CSS+Js

大前端技术需要前端的基础,作为移动端同学,学习前端不会是很困难的事情。不需要很精通,但是基础的语法需要懂。

Write Once, Debug Everywhere. 一次编写,到处调试。

Build amazing native and progressive web apps with open web technologies. One app running on everything

3.3 RN Or Weex

在落地大前端技术时,选择RN还是Weex?

  • RN出自Facebook,基于React,开源较早,有一点的社区规模;
  • Weex出自阿里,基于Vue,上手简单,站在了RN的肩膀之上。

其实二者很相似,毕竟Weex是站在RN的肩膀上,而Weex更像是RN的增强版,针对使用RN过程中的问题(例如JsBundle体积、发布流程、性能等)进行了补强。

根据我自己使用Weex做开发的体验来看,上手容易,且十分顺手。基础组件、模块完善;调试、发布方便;性能监控、降级方案完善;扩展性较好。

我目前没有使用过RN,但据使用过RN的朋友说,很多组件RN做了针对Android与IOS的区分,因此很多地方仍然需要写两次代码。(如若不实,欢迎指正)

庆幸的是,玩笑的背后,我们从不缺少砥砺前行的开创者。

ionic由谷歌团队开发维护。 ionic是一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framework )。

3.4 趟坑之路——技术组件的积累

而对于新技术,不管多么令人激动,在实际落地的时候一定会遇到各种坑。对于大前端的坑:

  • 文档相比纯Native较少,遇到问题需要去扒文档、提issue;
  • 部分自有功能Android与IOS的纯Native实现可能不一样,因而在调用的时候需要配合一致。(这个不算大前端的坑)
  • 自有技术组件的积累。

在实践一段时间之后,相信大家一定会体会到跨平台的优势以及人力成本的节省。

欢迎关注微信公众号:定期分享Java、Android干货!

必发888手机版 1

欢迎关注

最近这两年,在移动端各种跨平台的开发方案如雨后春笋般涌现,一方面是因为,随着移动互联网的普及和快速发展,移动终端设备的软硬件、操作系统、开发工具链和技术社区等日趋成熟完善;另一方面,近几年传统 PC 端的技术、资源也逐步迁移到移动端上来,大家都想造轮子,然后一统天下。 特别是今年,随着微信小程序的流行,让本来 Web、iOS、Android 的三足鼎立之势,又加入了新的玩家。如何统筹兼顾,收归开发成本,跨端技术势在必行。

可以帮助您使用 Web 技术,比如 HTML、CSS 和 Javascript 构建接近原生体验的移动应用程序。

所以,“跨端融合”——这是每一个追求新技术的开发者的向往,同时也是守旧者的噩梦。

ionic 主要关注外观和体验,以及和你的应用程序的 UI 交互,特别适合用于基于 Hybird 模式的 HTML5 移动应用程序开发。

即将于 10月14日在 深圳举办的 IMWeb Conf 2018 中, 《Native 跨端融合分会场》将带你领略“天下大势,分久必合”前的腥风血雨。

ionic是一个轻量的手机UI库,具有速度快,界面现代化、美观等特点。为了解决其他一些UI库在手机上运行缓慢的问题,它直接放弃了IOS6和Android4.1以下的版本支持,来获取更好的使用体验。

分享主题

weui  17.7k

本次腾讯 IMWeb 团队,邀请到了业内各大公司的著名前端布道者,围绕“跨端融合”这一主题,为您带来全新的核心理念、设计思路专场剖析。

WeUI is an WeChat-like UI framework officially designed by the WeChat

主题有:

Design Team, tailor-made for WeChat Web development, in order to improve

  • 多端统一开发框架:Taro 深度剖析 - 李伟涛(京东)
  • Hippy - 过亿量级动态运营解决方案介绍与应用 - 赵宏罡(腾讯)
  • Hippy - 终端架构设计与核心优化 - 盛波(腾讯)
  • Weex 内核的原理和演进方向 - 张翰、申远(阿里)

and standardize the experience for WeChat users. Including components

亲临现场,你将收获:

such as button、cell、dialog、 progress、 toast、article、actionsheet、icon.

  • 与前端大咖面对面交流
  • 了解跨端技术的发展史和最新动态
  • 深入挖掘跨端技术的原理
  • 了解方案之间的异同
  • 认知哪种方案最适合自己业务

Weex  16k

  • 上一篇:没有了
  • 下一篇:没有了