前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GMTC移动开发者大会纪实(三)像投奔移动互联网一样投奔大前端

GMTC移动开发者大会纪实(三)像投奔移动互联网一样投奔大前端

作者头像
用户2898788
发布2018-08-21 10:05:15
4050
发布2018-08-21 10:05:15
举报
文章被收录于专栏:双十二技术哥

1、Native与Web之争的融合

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

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

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

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

2、崛起的大前端技术

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

2.1 ReactNative

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

当痛点遇上特点,两者一拍即合,于是乎: 一个基于 JavaScript,具备动态配置能力,面向前端开发者的移动端开发框架,React Native,诞生了!

2.2 Weex

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

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

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

3、如何落地大前端

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

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

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

3.2 前端基础:Html+CSS+Js

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

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的区分,因此很多地方仍然需要写两次代码。(如若不实,欢迎指正)

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 双十二技术哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、Native与Web之争的融合
  • 2、崛起的大前端技术
    • 2.1 ReactNative
      • 2.2 Weex
      • 3、如何落地大前端
        • 3.1 像投奔移动互联网一样投奔大前端
          • 3.2 前端基础:Html+CSS+Js
            • 3.3 RN Or Weex
              • 3.4 趟坑之路——技术组件的积累
              相关产品与服务
              应用性能监控
              应用性能监控(Application Performance Management,APM)是一款应用性能管理平台,基于实时多语言应用探针全量采集技术,为您提供分布式性能分析和故障自检能力。APM 协助您在复杂的业务系统里快速定位性能问题,降低 MTTR(平均故障恢复时间),实时了解并追踪应用性能,提升用户体验。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档