新闻动态

重庆网站开发:为何说Web开发的未来在于组件

2019-09-06 14:39:39

  预测未来并非易事。在预测社会现象的未来趋势时,我们不能认为未来就是当下现状的简单线性延伸——而Web开发就是一种社会现象。


  在收集数据和观察趋势时,人们总会忽略一些不显眼的事实、一些难以观察到的趋势,反而很可能收集到一些本应无视的数据。话虽如此,但设法做出一些合理的预测总比完全不管不问、假装未来与自己无关要好些。


  作为软件开发人员,我们有责任预测将要发生的事情并提供对应的长期解决方案。


  Web开发行业是一系列技术、实践和机构的综合,它主要由两种力量构成:其一是硬件,或者更具体地说是消费级设备;其二就是对盈利收益的不变追求,这一点与其他所有行业是一致的。想要合理地预测Web开发的未来趋势就应该从这两点入手开始分析。


  消费级设备愈加多样化


  近年来,我们看到消费设备的种类经历了一场爆发式增长——智能手表、智能眼镜、智能音箱、智能电视、可折叠智能手机,等等——在物联网(IoT)时代,每天都可能有新的事物戴上名为“智能”的帽子加入智能设备大家庭,人们对此早已习以为常。


  这对Web开发者来说意味着什么?设备种类越多意味着平台种类越多,输入和输出的类型和方式也随之增多。曾几何时我们的设备都配备了大尺寸的方形屏幕和一个Web浏览器;时至今日,那种单个Web应用(或网站)只需应付少量设备类型的日子已经一去不复返了。


重庆网站开发:为何说Web开发的未来在于组件


  如果想要充分发挥Web应用的潜力,我们就需要早早开始规划,让这些应用为种类繁多、形态难以预测的设备平台提供支持。这意味着我们应该使用新的构建方法,既能让Web应用轻易适配已有的多种设备平台,也能为未来的新平台类型做好准备。


  网站开发的成本过高


  聘请软件开发人员的成本很高。优秀的开发人才供不应求,而且人才需求还在不断上升。2026年之前仅在美国就将新增超过253,000个软件开发者岗位。换句话说,产业需要为昂贵的劳动力投入更高的成本。


  迄今为止,市场已经采取了一些有限的行动来应对这一挑战。一类对编程技能要求较低、只需拖拽就能开发应用的平台开始崛起,降低了低水平程序员或开发者的从业门槛。谷歌App Maker、微软Power Apps和Wix之类的Web设计平台就是其中的一些案例。


  虽然这些平台很出色,但它们的限制太多,难以广泛普及,自然也远不足以提供完整的问题解决方案。如果现有的趋势持续下去,我们不仅会面临开发成本愈加昂贵的问题,低水平开发者编写的糟糕代码导致软件质量低下的问题也会愈加严重。


  编程太难了


  至此我们谈到了两大问题:


  软件开发越来越难跟上设备日趋多样化的脚步。


  就像其他自然资源一样,优秀的开发者资源也快见底了。


  这两大问题的根源是一样的——编程实在太难了!正因如此,现实中不存在什么“代码机制”,只有工程师可用。所有工作都需要专家,所有任务都需要处理脆弱和模糊的代码——这对专家来说也是一件令人恐惧的工作。


  具体来说,针对未来基于JavaScript的Web开发行业,我们需要面对一个繁荣、复杂和快速变化的生态系统。因此每项工作都需要掌握数量众多的工具、技术和架构。


  构建Web应用是一项艰巨的任务


  编写Web应用需要大量的工作。我们需要考虑很多不同层面的问题,每个层面都有可能拖垮整个应用。正如Peter Jang在他精彩的博客文章中所写的那样:


  “以前我们只需要简单的HTML和JS就够了,现在我们得用包管理器自动下载第三方包,用模块管理器(module bundler)创建单个脚本文件,用翻译编译器(transpiler)应用新的JavaScript功能,还要用任务运行器(task runner)自动执行各个构建步骤。”


  近年来,“组件”和“模块化”这两个词随处可见。外行看了这两个词可能会误以为现代Web应用就像乐高积木一样——由代码积木块组成,每块积木都能自行工作,都可以轻松替换。


  实际上,虽然我们的应用是以模块化的方式构建的,但这种模块化仅仅停留在表面。模块或组件依赖许多项目中的其他代码片段,它们还依赖项目的编译器,以及项目的单个或众多存储库。