zoukankan      html  css  js  c++  java
  • 终端碎片化的时代与多端一体化开发体系的兴起

            随着响应式与混合开发的技术体系的兴起与逐步完善,终端碎片化时代如期而至。 

       这里的‘碎片化’,意指形形色色的媒体终端碎片化了用户体验方式和时间,一款产品在各终端的表现层基本一致,略有差异。

       于是,基于产品多终端的便捷化开发,多端一体化开发体系兴起了。在讲多端一体化开发体系之前,我们先回顾一下它的基础:混合开发。

    混合开发

      混合开发发展到现在,实质上而言,大致可分为三大类;

            一   H5嵌入式混合开发(webApp ,native-h5-app ):

                   代表技术有:

                   1  webview : webview控件性能愈加强大,可控的h5内容体积以及逐渐接近native的性能,让它逐渐成为新时代主流的webapp开发方式;    

         2 hyiframe :  用iframe开一个窗口,请求服务端的h5页面,是早年的webapp的主流开发方式。

                   3 highbridge : 有native提供底层调用api,以桥接的方式,让h5可间接调用底层,直到现在,它还是主流的webapp开发方式;

                   4 pwa :  pwa 其实不算一种技术,它是一种概念——追求无限接近native性能的web pro。这里把它放在这里,主要考虑到桌面h5应用。

      二  native混合开发(写的js,build出的是安卓、ios原生):

        代表技术有:

             1  RN : react-native是早期Facebook团队推出的混合开发框架,到现在的版本,对安卓和ios都有很好的支持;

                  2  Weex : vue语法的native混合开发体系。虽然背后没有特别强大的团队,但开源大佬多啊;

                 native意指原生,这里的原生指的是 安卓原生和ios原生。前阵子很火的一道面试题是  native混合开发的原理,讲起来很简单,实际上真正要更深入的理解,多少要学些原生的东西。

           三    平台脚本类的小程序 : 

         代表技术有:

         1  微信小程序 : 这个有多火就不用再说了==!

                 2  支付宝小程序:  听说搞得还不错,但支付宝用户多依赖支付宝的支付功能,大多都是把它定位为一个便捷支付类的产品,而非一个娱乐/社交产品。它没微信小程序火,不是因为技术上的不足,而是产品的定位。

                 我们知道js也是门脚本语言,所谓脚本语法,就是只能运行在特定的环境下。 例如js只能依赖具备js解释器的环境(以浏览器引擎,node为主的环境都具备js解释器的功能),vbs只能依赖windows环境(windows的脚本语言)。

         同样的,微信、支付宝、钉钉等产品本身也是一种环境,微信最先开始提供它的脚本语言,在语言设计上,与js的语法几乎一致,因此——我们用的是js语法,实际上写的是独属于这个环境的脚本。

       

          以上,是主流的三大类混合开发方式;

     

    多端一体化开发体系 

        多端一体化开发体系,就是以h5与混合开发为根本,利用它们共同的特性:js语法,去构建的一次开发,多端产出的开发体系。

           主流技术有: 

         1 Rax: 表层用react语法开发,构建依赖weex(没写错,不要奇怪这一点)实现native(安卓、ios)端,同时产出h5端;

          也就是  rax => weex+h5  =>  andriod+ios+h5; 

                     2 Taro.js : taro.js也是一个开源的多端一体化开发体系,版本稳定以来一直很受欢迎。

          Taro.js用的也是react语法,但开发一套代码后,通过taro提供的编译工具,可build出多套终端的适配代码:包括微信/百度/支付宝/字节跳动小程序、H5、React-Native ,适用性很广,极大地解放了前端开发的生产力。

                 18年起,开源的多端开发框架逐渐增多,出现了不少好产品。这必然是前端应对大前端潮流下终端碎片化的最好方式,因此,掌握和熟练一门体系是作为一个跟随时代潮流的前端开发人员所必备的技能之一。

     

    大前端,讲在最后   

     所谓大前端的概念,一开始是node兴起后的衍生概念。我们知道,node作为服务端js的运行环境,它一开始的主要是做ssr(服务端渲染)这样的一个表现层;但随着它的逐步完善和突出的特点,新兴架构方式中常有用node作为前端的一个信息数据的转发和控制层。这一点其实与多终端相契合——因为多终端所以更需要node去做控制层或中间层,反过来node不仅是多终端的根本开发依赖,更是客户端与服务端亲密结合的基础。

      因此,现时代讲大前端应当是必备这样的两个条件:    1  面向于多终端的技术栈;  2 以node为核心的服务端技术盏 ;

     

     

           全文手打,2019年1月9日,散场丶丶。

          

     

     

       

     
     

             

  • 相关阅读:
    cf1009 D. Relatively Prime Graph
    cf1009 C. Annoying Present
    随机验证码(数字和字母组成)及toLowerCase() 字符串转小写方法和toUpperCase()字符串转大写方法
    js中new ActiveXObject("Scripting.FileSystemObject")等操作本地文件用法,
    上传文件 (图片),使用new FormData()
    jq分页插件(jquery.pagination.js)只有上一页下一页和跳转
    jq的分页插件(pagination.min.js)选择一页显示多少条数据
    左侧导航栏案例
    jQuery 事件总结
    WebSocket
  • 原文地址:https://www.cnblogs.com/sanchang/p/10243703.html
Copyright © 2011-2022 走看看