web3.0时代,“程序猿”如何“渡劫升仙”?
世界上目前已经有超过18亿的网站。其中只有不到2亿的网站是活跃的。且每天都有几千个新网站不断被创造出来。
2017年成果显著,网络上出现了像Vue这样的新JavaScript框架;基于用户体验流程的开发;新的编程语言;浏览器和扩展程序之间不断增加的兼容性等技术方面都有了长足进展。
移动浏览取代了桌面使用,响应式网站的建设成为更多企业的选择。为了适应CSS和更新框架的进步, 移动网页的设计和性能尽可能直观且富有吸引力。
网络和大数据技术日新月异,开发行业应接不暇。本文梳理了2018 - 2019年的技术趋势,为企业和技术人员提供提供指向标。
JavaScript前端框架/库成为最强王者
强大且灵活的JavaScript是2017-2018最受欢迎的Web开发趋势,这种态势在2019年将继续保持。根据Stack Overflow报告,JavaScript不仅是去年最受欢迎的编程语言,而且未来五年来将一直处于领先地位。
Angular、React和Vue可能是目前最炙手可热的基于JavaScript的Web应用程序框架。
2014年创建的Vue在2018年越来越受欢迎。它已入围最轻量级和最快的框架之一。没有大型科技公司的支持是Vue的一个优势。Angular和 React分别由Google和Facebook开发和维护,而Vue则是由单个开发人员Evan You创建,因此更为自由灵活。
有趣的是,VueJS的文档以中文提供,因此该框架在中国的开发人员和用户中受到极大的欢迎。
今天,Vue正在被阿里巴巴、任天堂、Expedia和GitLab等大公司使用。VueJS是2017年“星标个数”排名前十的GitHub项目之一。
JavaScript的优化改进带来的函数式编程,简单易上手
函数式编程是基于某些基本原理创建软件的过程,同样的原则适用于纯函数。在使用函数式编程的时候,可变的数据可以共享,其他负面影响也可以避免。
与面向对象的代码相比,函数式编程的代码更容易预测,使用起来更为简单,测试也更加容易。使用过JavaScript的“老手”可能已经知道了函数式编程的概念和原理。这些原则的核心是将程序分解为小功能。
2018年,ES6和ES7等JavaScript的改进对函数式编程特别有用。这些改进功能包括:
1.箭头功能
有助于在编写函数时减少样板。可以使用箭头函数简化上面的示例,如下所示:
2.数组/对象传播
对象传播使得避免变异对象变得容易得多。这主要是因为创建可包含现有值的新对象要容易得多。 以下示例:
3.等待/异步
有时程序需要具有调用功能,尽管它们可能在函数编程中具有副作用。通常需要包括彼此依赖的多个呼叫。
跨浏览器扩展兼容性得到开发
多年来,浏览器扩展一直是Firefox、Chrome、Safari等浏览器的关键附加组件。2018年以来,开发重点在于实现浏览器扩展的兼容性。
浏览器扩展可以被视为HTML、JavaScript或CSS代码。通过几行神奇的代码,就可以为浏览器添加新功能,甚至更改网站的内容或外观。
早期的扩展建立在一个特定的浏览器上,比如火狐或Chrome。但是,随着Firefox现在支持Chrome扩展,Edge也开始迎头赶上,这种趋势正在发生变化。
Mozilla的开发人员手册为其“跨浏览器支持系统”提供了以下说明:
“Firefox扩展程序是使用Web Extensions API构建的,这是一个用于开发扩展的跨浏览器系统。在很大程度上,API与Google Chrome和Opera支持的扩展API兼容。大多数情况下,为这些浏览器编写的扩展只能在Firefox或Microsoft Edge中运行,只需进行一些更改。该API还与多进程Firefox完全兼容。”
虽然Firefox扩展以前使用过三种不同的系统,但Web Extension API将是开发Firefox扩展的唯一方法。这将确保Firefox扩展也可用于其他浏览器。
如果要测试扩展程序的浏览器兼容性,可以使用此测试程序。
网络安全,分析和API测试
在每次黑客攻击或数据泄露事件背后,都有一家公司争先恐后地遮盖事件。网络安全技能和安全测试方面的专业知识在这时得到彰显。
过去几年中,一系列新的安全工具和测试框架得到了支持,能熟练使用这些工具可能有助于你建立成功的职业生涯。
对于Web开发人员来说,安全性和测试意味着很多事情。如果你已经使用Oauth构建应用程序进行身份验证并使用RBAC进行授权,那么你已经熟悉了最新的测试趋势。安全分析和代码审查是另一个现在很热门的安全领域。
依赖项的安全性和维护——尤其是开源依赖项是一个日益受到关注的问题。一些最新的漏洞是因为底层的开源软件包没有按时修补。对于安全爱好者来说,这是个好消息。
开源组件就像它们的专有对应物一样容易受到漏洞和安全漏洞的攻击。有很多开源漏洞管理工具,所以你没有什么可担心的。如果你对审计和分析代码以及自行管理安全补丁感到满意,那么你应该尝试申请安全分析师或安全经理的角色。
此外,非营利性信息安全倡导组织ISACA预测到,预计到2019年全球将会有200万网络安全专业人员短缺。这对求职青年而言再好不过了。
高性能的单页应用程序(SPAs)
单页应用程序无需在使用时重新加载网页。它们通过JavaScript加载所有内容。比如:Gmail,Facebook和Github。
SPAs在浏览器中是用户的首选。SPAs不需要额外的等待时间直接在用户的浏览器中呈现网页。
基于JavaScript的单页应用程序在Web开发趋势方面继续受到欢迎。主要原因是SPAs在所有具有高性能和减少Web开发时间的设备上能完美运行。
单页面应用程序的开发主要基于Angular和React框架。SPAs可以快速在经济高效的混合应用程序上部署。
交易率更高的渐进式网页应用程序(PWAs)
渐进式网页应用程序(PWAs)最初于2015年由Google开发。2016年,一些较大的品牌和公司依靠PWAs重建其网站。过去几年,由于市场过度饱和,移动应用正迅速失去吸引力。PWAs现在成为一个极好而有吸引力的选择。
根据Google的说法,构建PWA有以下几点优势:
1. 主屏幕上的显示:只要遵PWA的标准;谷歌浏览器会提示用户将WPA添加到其主屏幕。
2. 无论网络状况如何,它都会非常可靠:服务工作人员启用了Konga,可以为页面加载节省多达63%的数据,并为完成首次交易节省高达84%的数据。
3. 增加用户参与度:借助网络推送通知,eXtra Electronics能够将用户参与度提高五倍。
4. 转化次数增加:由于更好的用户体验,AliExpress能够分别为浏览器和ios上的新用户提高104%和82%的转化率。
智能聊天室
2017-2018年,AI聊天机器人的普及程度显著增加。Facebook的聊天机器人甚至在互相交流时能创建它们自己的语言。像这样令人难以置信的故事证明我们正处于新技术转型的尖端。
在人工智能和神经网络的基础上开发的聊天机器人将继续发展,并有助于提高在线交流的速度。
区块链
区块链及其对网络行业的影响已经众所周知。简而言之,区块链是一种收集数据存储的方法。信息存储在全球数千台不同的计算机上,而不是存放在一个位置。它的主要优点是交易之间不存在中间人。复杂的算法用于验证每一项操作,并涉及全球数百台计算机。
区块链具有高级别的安全性和保护性。这是许多跨国银行目前正在考虑是否在日常交易中实施区块链的主要原因之一。区块链通常用于交易和交易操作,安全性,加密货币以及其它加密以帮助保护数据。