加载中 ...
首页 > 新闻资讯 > 经验心得 正文

课外:移动开发将被融合,大前端领域即将出现?你信吗?

2019-07-13 09:52:06 来源:沈阳小程序开发 作者:沈阳软件开发

徐川,相关的中文站移动主编,GMTC大会主编。长期关注移动开发与前端技术发展。

在今天,大前端并不是一个陌生的词汇,我们偶尔会听人谈起它,前些天还看到卓同学写了一篇《大前端时代下app开发者的生存之道》,说明这个词开始成为某种共识了。

但是大前端到底指的是什么?事实上大前端并没有明确的定义,它由国内业界发明,甚至没有对应的英文词汇(如果有,请悄悄告诉孤陋寡闻的笔者)。有人对发明技术词汇不以为然,但我认为国内大前端相关技术发展相较于国外并不差,我们有必要在理论,标准方面也有所建树,这样才能与我们的发展情况相匹配。

上个月我在筹备GMTC2017大会的时候,走访了美团点评的刘平川老师,滴滴的左志鹏老师,手淘的天施老师,对大前端的问题进行了深入的讨论,在这里,我想用这样一篇文章来抛砖引玉,探讨大前端的定义。希望能看到更多关于它的讨论和分享。

1大前端指的是什么?三个层面上的大前端

如果分析我们到底在什么时候使用大前端,大概有三种不同的语境,在每种语境下,大前端的定义都有所不同。

大前端与的NodeJS与前后端分离

在前端同学的口中,大前端有时与的NodeJS一起提,有时与前后端分离一同提起,事实上,大前端概念也正是由前端同学提出,从这里,我们可以得出大前端的原始定义。

XX 在过去几年中,前端技术经历了爆炸式增长,而这一发展最重要的推动者之一是NodeJS。 NodeJS在系统和前端系统之间建立了一个桥梁。从那时起,前端技术不仅可以在服务器端发挥作用,还可以在本地前端开发工具和工作流程中发挥作用。从那时起,前端已经被解放,JavaScript已经统治了世界。这个论点曾经非常猖獗。

然而,当人们冷静下来时,他们发现NodeJS在服务器端没有太多优势。再加上NodeJS技术本身的一些曲折,其在服务器端的应用并不理想。然而,前端学生取得了一些阶段性的胜利,结果是前后分离。

过去,前端页面模板是由后端生成的,当需要频繁修改页面时,导致页面效率低下。前端分离是指仅提供接口的后端,前端完全控制页面,前端由中间层分隔。这里,提取,聚合,分发数据等。这个中间层通常也是前端同学的责任。

从这个意义上讲,大前端的原始定义可以称为前端技术的扩展,包括NodeJS,同时可以更好地控制Web页面,并开发具有更多功能的页面。

大前端与平移GUI

交互 随着移动互联网时代的到来,移动应用程序已成为新的主流,而浏览器的地位逐渐下降,传统的前端开发也遇到了尴尬。

当然,前端并没有真正遇到困难,以PhoneGap/Cordova为代表的Hybrid开发,以及嵌入在App中的WebView开发,加上微信Web在微信成为主流之后,前端技术在移动端实际上有很多。要使用的场景。

然而,当时人们提到移动开发,主要是指iOS和Android原生开发技术,这种情况随着React Native的发布而发生了变化。事实上,到目前为止,国内外仍然没有很多大规模使用React Native,但它可以解决原生跨平台代码重用和动态化的难点,并避免之前Hybrid的性能问题,所以它受到了广泛的关注。

随着React Native的加入,前端技术堆栈再次扩展。而React Native让我们发现,实际上,通过添加虚拟视图层(Virtual DOM),可以在很大程度上重用逻辑操作和模型部分的代码。在现有的实践摘要中,获得了大多数React Native代码。超过80%的重用。虚拟视图层不仅用于移动端,还用于通过图形界面进行人机交互的所有场所。只要系统可以在PC,Web,移动设备甚至是尚未发明的未来设备上运行。从理论上讲,JavaScript引擎可以使用类似于React Native的开发解决方案。这种前端技术当然可以称为大型前端。

如果前端和后端的分离是前端在纵向方向上变大,则可以说不同端子的前端技术在横向方向上更大。

大前端团队状态

在实践中,还存在使用大前端的情况,即,国内公司的大型前端团队/部门。根据我了解的情况,目前美国集团评论说,饥肠辘辘,网易航燕队有一个叫做前端的球队,或者在外线时使用冠军。

但是,由于大前端的前端没有明确定义,这些团队的构成并不相同。它们都是由公司了解大前端和公司业务的支持需求而建立的。详情如下(可能有偏见):

美国团队评论了大型前端团队:包括FE,iOS,Android开发和一些工程工作。

饥饿的大型前端团队:基于FE,包括NodeJS和Weex。

网易Hangyan的前端团队:去年年底,在网易杭雁执行董事王元的分享中,他称网络技术前端,PC客户端和移动终端。

这些写在新闻稿中并印在名片上的文字对于帮助大前端的概念有重要帮助,也是确定大前端定义的基础。当然,目前的案件数量太小,不足以影响我们对大前端的理解。

2为什么大前端是发展趋势

在客户端开发中,Native和HTML5之间的争议已经持续了十年。人们对它失去了兴趣。从现在开始,没有人取代任何人,但有一种趋同趋势。整合后的产品是大前端。

在此我大胆预测,大前端不仅将成为移动开发和网络前端的发展趋势,也将成为未来显示设备终端的发展技术趋势。

你为什么这么说?

终端碎片

我们进入了终端碎片化的时代。第一代iPhone今年发布了整整10年。在这10年中,我们没有发现智能手机已被更换的任何迹象。但创新仍在继续,因此我们拥有智能手表,电视,眼镜和VR等新设备。可以想象,这种装置将继续增长。

这些新设备也是新平台,类似于智能手机,可以安装第三方应用程序,这些平台基本上支持浏览器或嵌入式浏览器引擎。虽然某些平台限制使用Web技术来开发应用程序,但这只是平台策略的原因。只要限制措施自由化,前端技术就可以以某种姿态进入甚至成为主流。

With the exploration of early Hybrid and later React Native, the front-end has become an essential technology in the development of display terminal applications.

Serverless

Serverless Chinese is a serverless architecture and is a popular concept in the 软件 architecture field. The lack of service here does not mean that no server is needed, but that the new architecture replaces the concept of a traditional server. The representative of Serverless is the AWS lamda released by Amazon in 2014, and subsequent major cloud computing vendors have followed suit.

For terminal developers, you don't need to know too much about Serverless, so I won't cover it here. I just need to know that it is considered to be one of the trends in cloud computing.

The relationship between Serverless and the big front end is that Serverless needs a more powerful front end. In the book《Serverless Architectures on AWS》, the five principles of Serverless are introduced. One of them is:

Create thicker, more powerful fr沈阳软件production

ad.jpg

Ont ends

Therefore, from the development trend of the 软件 architecture, the front-end will become more and more "big" and the importance will be enhanced in the whole system.

3 major front-end representative technologies

Having said that, what are the representative technologies of the big front end? From a business perspective, I think that terminal development, gateway design, interface design, and desktop-side engineering can all be considered as front-end business areas. The specific technology is based on the general technology of HTML5, NodeJS, and the proprietary technology of each platform. From the current stage, it is also necessary to master some representative frameworks, platforms, and so on.

React and Vue: two front-end ecosystems

xx 前端车架目前有三个车厢。除了Angular之外,React和Vue都形成了自己的生态系统。

生态学的意义是全面覆盖,几乎没有缺点,React和Vue已经涵盖了当前的主流系统平台,并且可以用于React Native,Weex和其他框架的本地开发,这比其他技术具有强大的优势。

PWA:打开

的理想 PWA是Google的技术,对于前端开发人员来说,它代表了标准化和开放性的努力。虽然从目前的角度来看仍然没有达到实用阶段,但最近从我这里获得的一些信息表明,这项技术仍然具有很大的潜力和许多支持者。今年可能会出现更多的实践案例。

小程序:超级应用指向

的另一个未来 在正式发布微信小程序之后,它在释放之前与火热成反比,并且市场上几乎没有声音。但这只是产品战略的原因,而不是技术带来的问题。实际上,微信小程序的用户体验非常好,说明了这项技术的应用潜力。

小程序仍然是我们的可能性。 Super App已成为PC时代浏览器的精神继承者,并已成为我们的新操作系统。

4个前端的影响

最后,我们来谈谈大前端的影响。

新的移动开发技术堆栈

移动设备作为主流终端设备,其应用开发技术也应该是大前端最关注的技术。过去,移动开发技术堆栈基于本机开发,但在未来可能需要同时掌握前端技术。卓的文章也表达了这一含义。

在今年1月的WeexConf中,我被田师老师的一个段落所感动。他的一般想法是,在移动方面经过10年的发展,创新正在放缓,移动开发正在走标准化之路,因此Weex将遵循W3C规范。我有一个更深刻的理解:许多组件需要在移动开发之前依靠自我研究,但是随着大型制造商的更多开源,我们对基本组件/框架和移动开发的自我研究需求将越来越少没有类似W3C的规范,但会有基于开源的事实上的标准。

因此,我认为纯粹原生移动开发的道路将变得越来越窄,整个移动开发技术堆栈必须做出重大改变。

新职业:大前端工程师

随着大前端的概念逐渐深入人心,它会带来什么?我认为会有一个新的职业:一个大的前端工程师。

它与之前的Web前端之间的区别在于,大前端将进行更多的终端开发,工程等,而不仅仅是网页的开发。大型前端工程师将能够从各方面获得发展。它比有争议的全栈工程师更有效。

而且,大型前端工程师将是一个具有强大生命力的职业,因为显示终端设备的活力将会很强。毕竟,超过80%的人类信息获取是通过视觉,无论亚马逊Echo等语音交互设备如何演变,显示终端都将占有一席之地,而大前端将不会失业。

5结论

这篇文章肯定是有偏见的,甚至可能有错误。我希望它会让你思考,然后这篇文章将实现其目标。

“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。