技术专题·前端融合技术栈

原创
开发 前端
面对错综复杂的众多新的前端技术,不要盲目都试图去学会,对这些技术做一些了解,知道各个技术的优缺点,可应用的场景和定位就OK了。然后,针对所在工作环境中用到或未来可能用到的深入学习。待所需的技术掌握好,再去考虑研究其他的新技术以及如何运用新技术来把当前工作做得更完美。

一:崔红保 

[[162324]]

崔红保,MUI框架设计师,前数字天堂信息科技公司研发总监,8年手机跨平台中间件研发经验,目前致力于如何让HTML5应用达到原生App体验。

点评内容:

随着HTML5规范的定稿及手机硬件的提升,webview的渲染性能大幅提升,前端工程师参与App开发已是常态;现阶段,前端主要有两种参与模式,***种以创业团队或小团队为代表,特点是缺钱少人,前端工程师利用html构造界面,css控制样式,js实现业务逻辑,然后再借助5+ runtime、Cordova等HTML5增强引擎调用手机的原生设备能力(比如:摄像头、麦克风等),从而实现App完整业务的开发;这种模式主要利用HTML5的跨平台优势,一次开发,兼容iOS、Android两大平台,借助mui开源框架的话,甚至可进一步发布到微信、手机浏览器等平台;第二种以一线互联网公司为代表,特点是人多钱多,这类公司开发原生App则面临着不同的挑战:

1、业务复杂,安装***大,用户在下载安装过程中流失率较高;

2、营销活动很多,原生开发无法应付多变的营销方案;因此,这类公司通过自研或集成5+ SDK等方式,核心基座使用原生开发(C/S结构),展示类及营销活动等则通过webview加载服务端HTML页面(B/S结构);这种模式的***做法则是新近推出的流应用,使用5+ API开发App,用户***使用时采用流式下载技术,边用边下,将资源文件下载到客户端本地(变成C/S结构),在保证原生体验的同时,大幅提升用户获取App的体验,点击安装后5秒进入首页。

互联网的世界是开放共享的,但进入到移动化联网时代,占主导的原生应用却是独立的,App的内容被局限在每个App内部;App之间不能无缝跳转,链接和数据不能在App之间传递和共享,这就是常说的“应用孤岛”,在用户体验层面,这实际上是历史的倒退。然互联互通作为用户刚需,苹果和Google自然也在努力解决,比iOS 9新推出Universal Links(通用链接),但效果依然不够理想。反观HTML5,却天然具有互联互通的基因,任何场景均可直达,不存在应用孤岛的问题;举一个广告直达的例子,现在大家可见的App广告,基本上都是App安装广告,比如“9.9元看老炮儿”,用户点击后会引导下载某个电影购票App,然后确认权限安装、启动App进入首页,查找《老炮儿》的电影,进入抢票或优惠活动页,整个过程需要1~2分钟,用户转化率低,广告投放收益差;而基于HTML5的流应用却不存在这样的问题,用户点击广告banner后,5秒后直接进入《老炮儿》的抢票优惠活动页,转化率在95%左右。从广告转化率和最终用户体验上对比,基于HTML5的流应用明显更胜一筹。

因此,基于HTML5的简单、跨平台、动态、开放的先天基因,未来前端技术必然会越来越多的参与到App开发中,这个时代真的是前端工程师的春天。

#p#

二:孙东

[[162325]]

孙东,14年加入艺龙网,任职h5前端架构师,曾在当当网,新浪网,百度等互联网公司工作,前端经验丰富,创立了slarkjs框架,在前端渲染,server渲染加速,云端一体化等领域有较深研究

H5和APP不是天然割裂的,业务上的融合已然普遍存在。在一些经常变动的活动页、或不太需要性能的静态页,App开发者已经习惯于使用内嵌H5来减少多套代码提高开发效率,而社会化分享的H5链接,也会通过唤起或下载,给APP导流。近年来,技术上H5和APP也在越走越近,通过js bridge,内嵌的H5也可以来利用APP的功能,和既有APP实现的业务串联起来。
2015年facebook发布的 react-native,可以说是前端届的重大变革,站在了若干融合的前端框架肩膀上,***次实现了js框架与native 布局、语法、转换工具的***整合,精简了臃肿的WebKit,使用高性能的jscore解析器,所开发的APP 既具备原生开发的优质体验,又具备H5开发的灵活,可以预见在2016年,优秀的APP开发者学习js,优秀的js开发者学习安卓/iOS,将成为普遍的现实。

#p#

三:孙东风

孙东风,12年开发管理经验,曾就职百度、HP、东方财富,全栈工程师,技术图书作者,出版有《例学Symbian开发》、《iPhone&iPad开发 实战》、《构建iPhone企业级应用-基于HTML、CSS和JavaScript》,国内最早一批从事移动互联网行业的人之一。擅长移动平台、大用户 量级后端系统架构。

点评内容:

关于前端融合这个技术话题,业内也有很多解决方案。但是基本上无法解决移动互联网行业的本质问题,用户对APP的交互体验越来越挑剔,选择也越来越多。而原来的Native的开发方式的成本居高不下,加上响应速度相对较慢。

目前来看,比较好的方式是采用FaceBook开源的React Native框架,从本质上解决了H5的交互体验差和开速开发之间的矛盾,用户界面和业务逻辑采用JS快速开发,一些特效采用Native的方式开发并提供相关接口给JS来调用,从而使得开发人员可以快速响应业务的变化。

而React Native的目的也是“Learn once,write anywhere”,JS的业务逻辑和界面很大一部分可以重复使用在iOS、Android以及H5页面上,大大降低开发成本。 我们本身也在基于这块提供全栈的SaaS解决方案,从而从根本上解决创业公司缺少技术人员的问题,原则上只需要一个会JS的程序员即可快速响应业务需求。

#p#

四:编辑点评

[[162326]]

王雪燕·开发频道编辑

点评内容:

作为关注前端融合技术不太久的小白来说,给出有价值的点评是不可能的。那我就在这个说说个人的感受,15年很多的新技术流行开来,框架方面比较火的就属基于 JavaScript 的开源框架 React Native,还有引用很多vue.js优点使得编程风格更加简约的Weex 框架。而Node.js的出现促进了栈的融合,使得前端工程师与后端越来越近,这样一来,一些前端工程师找到了突破点,慢慢可以部署和发布整个应用的能力。

本为客户端脚本语言的JavaScript也加入到了后端的阵营,慢慢涉及移动端Native领域。就目前看来,前端开发在效率和速度上远远超过客户端,这对于高频应用很适合适合,但是高频应用还要求体验要求很高的话可能和native还有一定差距。

给新入前端开发人员一点小建议:面对错综复杂的众多新的前端技术,不要盲目都试图去学会,对这些技术做一些了解,知道各个技术的优缺点,可应用的场景和定位就OK了。然后,针对所在工作环境中用到或未来可能用到的深入学习。待所需的技术掌握好,再去考虑研究其他的新技术以及如何运用新技术来把当前工作做得更***。

 

责任编辑:王雪燕 来源: 51CTO
相关推荐

2017-08-07 18:45:51

前端JavaScript技术栈

2017-07-26 13:51:19

前端JavaScriptTypeScript

2016-01-22 10:38:22

机器学习

2012-09-29 09:00:25

2016-01-22 08:54:43

虚拟现实下一代交互VR市场

2016-01-22 12:02:09

2015-10-10 15:46:02

融合网络网络虚拟化

2011-03-28 18:25:03

ibmdwLinux

2016-01-22 13:12:38

云计算云原生云原生应用

2017-03-27 17:53:45

Linux

2020-06-02 16:33:52

Serverless 云函数Node

2011-04-28 11:21:59

CE技术融合传送网

2010-04-21 11:55:34

2022-06-03 09:30:31

店铺W3C体系渲染

2009-03-04 09:35:00

Wi-FiWiMAX3G

2011-06-20 06:29:53

ibmdwWeb

2016-01-13 10:11:20

智能化运维运维自动化运维

2022-09-20 08:00:32

VMWARE云原生

2019-01-04 11:27:26

IPv6双协议栈组播

2018-06-08 21:23:04

华云数据超融合
点赞
收藏

51CTO技术栈公众号