JavaScript的世界正在快速发展。前端开发(和Web开发)的世界正在以极快的速度发展。今天,如果没有前端或Webpack、ReactHooks、Jest、Vue和NG元素的帮助,你很快就会落伍。然而,事情正在发生变化。尽管前端领域的开发人员和技术人员的数量逐年增加,但生态系统趋于标准化。新技术和工具的出现正在改变当今的规则。总的趋势肯定是基于组件的UI标准化,影响从样式到测试甚至状态管理的一切,整体上具有更好的模块化。这将包括围绕Web组件、ES模块、以组件为中心的工具等技术进行构建。以下是对未来几年前端发展的一些不完全预测,仅供参考。1.与框架无关的Web组件这代表了总体的未来。因为这些纯Web组件与框架无关,并且可以在没有框架或任何框架拼写标准化的情况下工作。因为不使用JS语言,所以很多浏览器都支持。它的包的大小和消耗也将是最佳的,VDOM渲染将是惊人的。这些组件提供自定义元素、允许定义新html标签的JavascriptAPI、用于指定布局的HTML模板,当然还有本质上特定于组件的影子DOM。在这个领域要了解的主要工具是Lit-html、StencilJS、SvelteJS,当然还有用于可在任何地方直接共享、使用和开发的可重用模块化组件的Bit。当考虑用户界面开发的未来,以及组件时代的模块化、可重用性、封装和标准化原则时,Web组件就是答案。2.框架冲突的未来?目前,React仍然是NPM下载中前端的“女王”。我们不会讨论“哪个更好以及为什么”,相反,如果您退后一步,您会注意到越来越大的部分。围绕组件的前端技术的整体“市场份额”正在增长。新的开发人员也在快速涌入,工具空间越来越大。那么未来5年哪个框架会占主导地位呢?没人知道。但可以肯定地说,它将是在Web组件主导文档对象模型DOM的原生JS生态系统中发挥作用的合适场所。React在NPM中拥有最多的下载量。然而——看看这些数字。看起来在实际的网络使用中差距很小。令人震惊吧?实际上,Vue和React在实践中非常接近。随着与框架无关的Web组件的未来标准化,许多人想知道对UI框架冲突的可能影响。其实我们都知道React真的不是一个框架。3.组件分离、复用和组合heBit组件:未来的代码共享、复用和开发在不久的将来谈到前端开发和用户界面组件时,不可能忽视Bit惊人的承诺能力。Bit(开源)将组件(或任何可重用的JS代码)分离并转换为可在所有项目和应用程序中使用和共享的共享构建块。神奇之处在于——还可以使用Bit从不同的项目开发相同的组件,同时完全控制源代码更改和整个依赖关系图。简而言之,Bit使您能够立即在另一个项目中使用一个项目的组件,并开发和同步对两个组件的更改。在团队合作时,此工作流将通过Bit的组件中心bit.dev得到增强,团队代码可以在其中组织和共享。ComponentCenter提供了在组件上共享和协作所需的一切,从漂亮的搜索和发现体验到实时组件游乐场,对持续集成和持续交付的全面支持,等等。可以通过Bit完全构建应用程序,即时访问团队和开源社区编写的所有组件,并即时共享新组件或建议对现有组件的更新。4.ES模块和CDNES模块是在浏览器中使用模块的标准,由ECMAScript标准化。使用ES模块可以方便地将功能封装成模块,通过内容分发网络等方式使用。随着Firefox60的发布,所有主流浏览器都将支持ES模块,Node团队正在努力为Node.js添加ES模块支持。此外,WebAssembly的ES模块集成将在未来几年内发生。想象一下,JS组件从Bit中分离出来,通过bit.dev内容分发网络来使用。5.组件级状态管理那么状态管理有什么新东西呢?我们只需要管理Redux中的所有内容吗?但是要充分利用组件,让模块复用,可能会比较困难。React新的ContextAPI和Hooks意味着可以在功能组件级别管理状态,而不需要第三方库,提高模块化和可重用性。因此,展望未来,我们可以尝试更多地从打包组件的角度来考虑状态管理,而不是从全球应用商店的角度来考虑状态管理。6.ComposingStyledComponentsBitModule:由独立的逻辑和主题组件组成样式近两年关于样式化组件的讨论很多。解决方案有很多种,从内联CSS或CSS模块,到CSS和JS中的style-components,甚至像stylable这样的半途而废的解决方案。风格可以作为未来几年的作品。这意味着组件设计系统应该同时包含逻辑组件和主题组件,可以使用Bit等工具进行组合。这样就可以创建一个可以根据需要发展和更改的设计系统,而无需将复杂的库强加给不愿应用它的开发人员。设计工具本身,例如SketchanFigma,为此目的利用组件(与Bi结合以获得最终的组件设计系统。7.GraphQLAPI客户端,用于数据驱动的应用程序。令人兴奋的是,在客户端有通过组件使用GraphQL的巨大可能性。使用Apollo,您可以轻松构建通过GraphQL获取数据的用户界面组件。结合Bit,您可以从您正在处理的项目中导入和开发这些组件。通过应用程序编程接口的智能管理,可以简化围绕数据驱动的应用程序开发的工作流程并加快开发速度。因此在未来几年绝对值得关注。8.基于组件的设计工具随着组件成为设计系统,设计人员和开发人员双方正在走得更近彼此。也就是说,从两边来说,这是可能的。Sketch已经在设计组件之间创建了依赖关系,因此它们可以是以模块化的方式设计和更新。代码组件的整合已经发生,只是时间问题。像Figma这样的工具是使用可重用的UI元素从头开始构建的。Framer团队正在为编写代码的设计人员构建一个工具,对将UI元素转换为可重用的React组件具有一定的控制权。通过Bit,可以将设计好的组件转换为可重用的构建块,并且可以在任何地方直观地发现、使用甚至开发,从而弥合与开发商的差距。Bit+组件设计工具大有可为。通过内容分发网络使用Bit和webcomponents是一个完整的组合。
