Web开发的未来

剧透:编写代码将变得更加容易

进行预言并非易事-在研究社会现象(Web开发是一种社会现象)时,众所周知,不要期望从当前事件到未来会有简单的线性投影。

收集数据和观察趋势将始终留下一些不为人知的事实,一些被忽略的趋势,并且很可能包括应该被忽略的无关数据。 话虽如此,做出有根据的猜测可能比选择对未来完全漠不关心和遗忘更有益。

作为软件开发人员,我们有责任预见未来并相应地提供长期解决方案。

Web开发是一组技术,实践和研究所,主要由两种力量形成:硬件,或更确切地说,是消费者设备,以及对财务收益的永恒追求。 在承担预测Web开发的未来的任务时,对这两者的研究应该是我们的出发点。

消费设备多样化的增加

在过去的几年中,我们已经看到在这种物联网时代(物联网 ),消费类设备(智能手表,智能眼镜,智能扬声器,智能电视,可折叠智能手机等)的数量激增,我们对此并不感到惊讶。当新的“东西”戴上“智能”帽子并加入俱乐部时。

对于我们作为Web开发人员来说,这意味着什么? 设备的多样性意味着平台以及输入和输出的类型和形状的多样性。 单个Web应用程序(或网站)用于有限范围的设备的时代已经一去不复返了,所有设备都配备了方形大屏幕和Web浏览器。

如果我们的目标是最大程度地利用我们的Web应用程序,则我们必须预先计划并使它们可用于大量不可预测的设备。 这意味着,以一种使我们能够轻松地针对任何现有设备自定义它们的方式来构建它们,并为下一个新事物做好准备。

Web开发人员太昂贵

软件开发人员很昂贵。 优秀的开发商短缺,对他们的需求也在不断增加。 预计到2026年,仅在美国,将创建超过253,000个新的软件开发人员角色。 这意味着更多的钱花在了昂贵的劳动力上。

到目前为止,市场反应有限。 我们已经看到了面向低技能程序员或实现者的拖放式低代码平台的兴起。 Google App Maker,Microsoft Power Apps和Web设计平台(例如Wix)仅是几个示例。

显然,这些平台虽然很好,但仍远远不能完全解决问题,因为它们太局限了,无法广泛使用。 如果当前的趋势不会改变,我们不仅会在价格昂贵的软件方面遇到问题,而且我们还可能会看到由不合格的开发人员编写的错误代码,这些错误代码最终证明是糟糕的软件。

编写代码太难了

到目前为止,我们已经讨论了两个主要问题:

  1. 跟上越来越多样化的设备的难度越来越大
  2. 就像其他自然资源一样,我们的开发人员也用光了😃

这两个问题都有共同的原因-编写代码太难了! 因此,没有“代码机制”,只有工程师。 每项工作都需要专家,每项任务都需要处理脆弱而晦涩的代码,即使对于专家而言,这也是一件令人恐惧的事情。

对于基于JavaScript的Web开发的未来,我们正在处理一个丰富,复杂且快速变化的生态系统。 因此,每项工作都需要掌握各种工具,技术和体系结构。

为什么构建Web应用程序如此困难?

编写Web应用程序需要大量工作。 有太多不同的方面需要考虑,每个方面都有可能使整个应用程序失败。 正如Peter Jang在其精彩的博客文章 (“恐龙的现代JavaScript解释”)中写道:

“从最初的HTML和JS到使用程序包管理器自动下载第3方程序包, 使用模块捆绑程序创建单个脚本文件,使用编译器使用将来的JavaScript功能,以及使用任务运行器自动化构建过程的不同部分, 。”

如今,“组件”和“模块性”一词已经泛滥成灾。 Web开发人员的局外人可能会愚蠢地认为,现代Web应用程序就像Lego一样,是由原子代码块制成的,每个都可以独立运行,每个都可以轻松替换。

实际上,尽管我们的应用程序是以模块化方式构建的,但它们仅在表面上是模块化的。 模块或组件依赖于其托管项目中的许多其他代码,它们依赖于项目的编译器,并且依赖于项目的存储库。

在Web应用程序中移动棋子-不太像Lego,而更像Stacker。

组件,组件,组件

我的朋友们,未来在于零部件- 真正的零部件 。 如前所述,“组件”和“模块化”是Web开发领域中备受推崇的概念。

无论是在像React这样由组件驱动的前端框架取得巨大成功,标准组件模型(又名“ Web组件”)的概念,为组件构建的工具的增长,后端体系结构(如微服务)的普及,向更多模块化存储库(如Lerna)的迁移,甚至最近对功能编程的重视。

在继续进行有关组件优缺点的单向讨论之前,让我们先暂停一下,以明确定义组件的实际外观。 为此,让我召集Yeoman,TodoMVC和Material Design Lite的作者Addy Osmani

“组件应该集中,独立,可重用,小型且可测试”

还有-

“如果您要构建要与社区甚至团队共享的组件,请问问自己,是否90%的用户将使用API​​中的功能。 如果是这样,它可能是相当不错的核心功能,应该保留下来。 如果某个功能要由10%使用,则它可能应该是单独的组件或模块。 避免代码膨胀。”

大。 现在我们已经解决了这一问题-让我们回顾一下有关编写组件化代码的所有优点:

  • 组件易于共享和重用:不用说。 如果您以“组件优先”的思维方式编写代码,则可以更轻松地在其他项目中重用它,甚至可以与团队和社区中的其他人共享它。 定义明确,具有清晰API且没有副作用的组件是可以解决的问题。
  • 组件允许分离关注点:将代码作为组件编写使得关注点分离是很自然的事情。 每个组件负责一个任务或功能。 这样可以更频繁地推送更新,并且更加安心。 如果项目和项目的开发方都是面向功能的,那么还将允许业务方之间使用通用语言。
  • 组件使您的代码更易于测试和维护:这也是毫无疑问的。 编写单一用途的小型简单代码段,可以在公园中散步,理解,测试,更改和替换您的代码。
  • 组件允许更抽象和友好的编码:最后但同样重要的是,它具有以更抽象的方式处理代码的能力。 这意味着-组件不需要理解就可以使用。 一个好的组件是一个准备好以类似API的方式使用的抽象实体。

简化编码

组件允许更强大的开发。 可以轻松共享,重用,更改和替换代码段。 这意味着,使您的应用程序适应各种变化变得容易得多。 在一个由组件统治的开发世界中,一个应用程序更像是一组乐高零件,每个零件都准备好重用,而不是一个令人恐惧的整体怪兽。

从工程师到建筑师?

组件甚至可以在行业中扮演新角色-不仅工程师,而且组件架构师 前一组将处理具体的代码,它将确保正确编写并对其进行了完全优化,而后一组则负责从中组成新的应用程序或分子组件。 这是双赢的局面。 可以在较短的时间内以更少的费用制作出出色的代码。

我们时代的先知

几年之内,Web开发的历史已经从JQuery的“页面时代”发展到Angularjs和Backbone的“ mvc时代”,再到React,Angular和Vue的组件时代。 Web组件几乎在这里。

当想到我们即将成为完全组件化的dev-world的前瞻者时,会想到许多技术-但是,为了使这篇文章简短明了,我将跳过购物清单,仅举一个名称。以我自己的拙见,很少有什么能将组件的概念推向未来。 还有很多同样重要。

反应和朋友

当然, React不需要介绍,但是如果我在“推动组件概念的技术”列表中没有提及它,那我将做得很大。 React它是一个超轻量级的前端框架。 它是如此的轻巧,以至于很难将其视为一个完整的框架。

引用React的官方博客:

“ React不是MVC框架。
React是用于构建可组合用户界面的库。 它鼓励创建可重用的UI组件,这些组件提供随时间变化的数据。”

为什么这么重要? 嗯,任何真正推动封装和可重用组件使用的技术都不能成为沉重的框架,否则,就不能达到目的。

React的设计使Web开发中涉及的两种不同实践脱钩:构建和组合。

React不使用模板。 (添加了重点)
传统上,Web应用程序UI是使用模板或HTML指令构建的。 这些模板规定了允许您用来构建UI的完整抽象集。
通过将用户界面分解为组件,React方法以不同的方式构建用户界面。”

还有-

“构建封装的组件来管理自己的状态,然后将它们组合成复杂的UI。”

展望新的未来, Web组件将带来不可避免的清理工作,它将围绕与框架无关的组件 巩固Web开发 。 我们已经可以看到它的覆盖( 工具 )。

“按照Bit的理念,组件是构建块,而您是建筑师。 比特只是消除了使其实用化的障碍……”

从字面上看, Bit可以从表面的模块化向前迈进模块化。 它是一个开源工具 ,可让您轻松地在不同项目和应用程序之间共享和管理组件。

它独立地跟踪您的组件,并导出包含它们的依赖项,编译器和测试器的组件。 然后可以通过包管理器使用组件,或者直接将其采购到新项目中。

Bit使您可以控制和管理跨多个项目和应用程序的组件的源代码更改和相关性更新,因此存储库不再限制模块性或它们之间共享的代码量。

Bit还确保通过其组件集线器UI和搜索引擎可以轻松发现每个组件。 您可以搜索组织甚至整个开源社区中的组件。 当您找到所需的内容时,Bit的现场游乐场将其呈现给您,因此您可以动手尝试。

团队共享可重用的代码组件·位

成帧器

Framer是设计师对应用程序进行原型制作的绝佳工具。 它的独特之处在于它可以让您设计使用实际JS / TS编写的实际组件。 它巧妙地利用了组件的时代,为Web设计界带来了新发现的模块化,为应用程序设计带来了新的可能性。

对于希望将应用程序构建得更像是组件组成的应用程序(从构想到功能完整的应用程序)的那些人来说,在开发人员端使用Bitr,在设计人员端使用Framer似乎是一个非常有希望的未来。

Framer X中的组件才是真正的交易。 从生产中提取它们,或从设计或代码中创建自己的代码。 使每个动画和微交互都恰到好处。 为每个组件创建自定义UI,并在多个项目中重复使用。

闪电般的交互式设计工具。

结论

回顾过去,我们从JQuery一直到React,一直处于Web组件和ES模块时代的边缘。

试想一下,拥有健壮和模块化的应用程序将是多么伟大。 不必再写两次相同的代码。 为了能够以更简单,更友好的方式处理代码。 将重点更多地放在逻辑和组合上,而不是在关注我们正在构建的实现和集成细节。

这是一个软件开发日新月异的世界的未来

From: https://hackernoon.com/the-future-of-web-development-8da936743d5c

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值