再看2019大前端技术趋势,Web OS概念正落地

 

稿件来源:阿里云开发者社区

 

大前端

2018 年的事儿特别多,从 React v16 普及,到 jQuery GitHub 下掉完成阶段性历史使命,在唏嘘之外,版本帝 AngularJS 又发布了V6 V7 两个版本。这些其实都不算啥大新闻,反观三大框架,写法越来越像,越来越贴近 WebComponents 标准,而周边应用层面的封装已经开始指数级增长。小程序是今年最火的技术,接连出现,快应用也想分一杯羹。PWA 进入稳定期,尤其是 PWA 桌面版,可以让我们更好的看清楚 PC 桌面版开发的全貌。

移动端还是以强运营为主,各大公司都开始不再 All in 移动,开始重视多端并进,到了开始拼细节的阶段了。TypeScript 全面开花,GraphQL 蠢蠢欲动,WebAssembly 更是打开了浏览器上多语言的大门。所有的这一切都在暗示,浏览器即操作系统,你能想象到未来前端的样子么?下面跟着我一一进行解读吧。

三大框架标准化

有朋友吐槽:“Vue 的特点就是上手快,初期相当好用,但如果接手一个别人写的 Vue 项目,再和 React 对比一下,你会感谢 React 。但当 Vue 3.0 发布之后,估计他就不会这样说了。因为 Vue 3 Class API React 的写法几乎是一模一样的,这个改动不是 Proxy TypeScript,而是支持原生 Class 的写法。你用 Class 来写,那代码和 React 写法几乎是一模一样的!

import Vue from 'vue'



class App extends Vue.Component {

  count = 0



  up() {

    this.count++

  }



  down() {

    this.count--

  }



  render() {

    return (

      <div>

        <h1>{this.count}</h1>

        <button onClick={() => this.up()}>+</button>

        <button onClick={() => this.down()}>-</button>

      </div>

    )

  }

}



Vue.render(<App />, document.body as HTMLElement)

从上面的讨论可以看出,前端三大框架已经趋于平稳化、标准化,在我看来未来是 WebComponents 的。

WebComponents 是规范,最早最知名的一个是 Google 主推的 JavaScript Polymer,它可帮助我们创建自定义的可重用 HTML 元素,并使用它们来构建高性能、可维护的 App。在 I/O 大会上,Google 推出了 Polymer 3.0Polymer 3.0 致力于将 Web 组件的生态系统从 HUML Imports 转移到 ES Modules,包管理系统将支持 npm,这使你更容易将基于 Polymer Web 组件和你喜欢的工具、框架协同使用。

 <script src="node_modules/@webcomponents/webcomponents-loader.js"></script>

  <script type="module">

    import {PolymerElement, html} from '@polymer/polymer';



    class MyElement extends PolymerElement {

      static get properties() { return { mood: String }}

      static get template() {

        return html`

          <style> .mood { color: green; } </style>

          Web Components are <span class="mood">[[mood]]</span>!

        `;

      }

    }



    customElements.define('my-element', MyElement);

  </script>



  <my-element mood="happy"></my-element>

另外还有 2 个项目具有一定的参考价值:

1.Rax 也提供了一个名为 atag UI WebComponents 库。

2.LitElement 是一个简单的轻量级的快速创建 WebComponents 的基类,可以理解成是 Polymer 最小的实现版本。

LitElement 主要的特性包括 WebComponent 生命周期模型支持和单向的数据绑定模型。它遵守 WebComponents 标准,使用 lit-html 模块这个快速的 HTML 渲染引擎定义和渲染 HTML 模板。最重要的是它对浏览器兼容性非常好,对主流浏览器都能有非常好的支持。由于 LitHtml 基于tagged template,结合 ES6 中的 template,使得它无需预编译、预处理,就能获得浏览器原生支持,并且扩展能力更强,性能更好。

import { LitElement, html } from '@polymer/lit-element';



// Create your custom component

class CustomGreeting extends LitElement {

  // Declare properties

  static get properties() {

    return {

      name: { type: String }

    };

  }

  // Initialize properties

  constructor() {

    super();

    this.name = 'World';

  }

  // Define a template

  render() {

    return html`<p>Hello, ${this.name}!</p>`;

  }

}



// Register the element with the browser

customElements.define('custom-greeting', CustomGreeting);

是不是看着更眼熟了?

《三国演义》里有这样一句:话说天下大势,分久必合,合久必分。周末七国分争,并入于秦。及秦灭之后,楚、汉分争,又并入于汉。汉朝自高祖斩白蛇而起义,一统天下,后来光武中兴,传至献帝,遂分为三国。

前端从 2014 年到 2017 年是混战期,得益于 Node.js 的辅助加成,外加各种前端优秀的创意和实践,使得 React/Vue/Angular 三足鼎立。无论 React 发布 V16,增加 Fiber Hooks,还是 Vue 3.0 发布,其实最终都是朝着 W3C WebComponents 标准走。一言以蔽之,Follow 标准是趋势,如果能够引领标准,那将是框架的无上荣耀。

我们可以参考一下技术成熟度曲线(Hype Cycle -Wikipedia),这个曲线把技术发展分成五个步骤:

【科技诞生的促动期】->【过高期望的峰值】-> 【泡沫化的底谷期】 -> >【稳步爬升的光明期】 -> 【实质生产的高原期】。

从前端现在的热度来看,应该是处于从第三阶段【泡沫化的底谷期】到第四阶段【稳步爬升的光明期】的爬坡过程,创新不会那么多,更多的是偏于应用层的内容。

对于当下的前端发展情况,我其实是有隐忧的。当年 Java 世界曾经搞各种 GUI,创造了 MVC 模式,结果没火,没想到到了 Web 开发领域,MVC 成了基本约定。之后

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值