美文网首页
2018年回顾

2018年回顾

作者: 张果果 | 来源:发表于2018-12-29 14:56 被阅读9次

参考文档:


WebAssembly

什么是WebAssembly?

WebAssembly并不是一门编程语言,而是一份字节码标准,需要高级编程语言编译出字节码放到WebAssembly虚拟机中才能运行。目前主流浏览器已经支持WebAssembly,浏览器厂商需要做的就是WebAssembly规范实现虚拟机

为什么需要WebAssembly?

目前JavaScript暴露的问题:

  • 语法太灵活导致开发大型Web项目困难
  • 性能不能满足一些场景的需要

相对于JS,WebAssembly有如下优点:

  • 体积小:由于浏览器运行时只加载编译成的字节码,一样的逻辑比用字符描述的JS文件体积要小很多
  • 加载快:由于文件体积小,再加上无需解释执行,WebAssembly能更快的加载并实例化,减少运行前的等待时间
  • 兼容性问题少:WebAssembly是非常底层的字节码规范,制订好后很少变动,就算以后发生变化,也只需在从高级语言编译成字节码过程中做兼容。可能出现兼容性问题的地方在于JS和WebAssembly桥接的JS接口

目前能编译成WebAssembly字节码的高级语言有:

  • AssemblyScript:语法和TypeScript一致, 对前端来说学习成本低,为前端编写WebAssembly最佳选择
  • C\C++:官方推荐的方式
  • Rust:语法复杂、学习成本高,对前端来说可能会不适应
  • Kotlin:语法和Java、JS相似,语言学习成本低
  • GoLang:语法简单,学习成本低。但对WebAssembly的支持还处于未正式发布阶段

参考资源


前端框架

NPM各个热门前端库(框架)下载量比较

react库不断改进,依旧称霸前端

新的特性:

  • 新的生命周期方法


    image.png
  • 新的上下文API
  • 指针时间
  • 延迟函数
  • React.memo
  • ReactHook:Hooks是一种使用useState功能向函数组件添加状态的方法,它还将管理生命周期事件
  • Suspense API

Vue迅速成长,github stars 数量超过React

Vue 3.0更新计划PPT

Angular 依然活跃,版本7发布

GraphQL 学习意愿高涨,但仍未超过 Rest


js 内嵌 css 使用更加广泛

CSS-in-JS的两个主要库分别是 styled componentsemotion

styled-components vs emotion
  • 在使用单个文件组件时,Vue支持有作用域的CSS。通过 scoped 属性添加到组件的样式标记,Vue将使用 CSS-in-JS技术来定义样式,以便他们不会渗透到其他组件中
  • Angular 通过 “视图封装” 支持CSS的作用域,这是默认打开的。

疲于使用各种 CLI 工具的情况有所改善

在2018年,CLI已成为开发人员创建应用程序的主要方式。流行的框架包括 Next.jsCreate-React-App(客户端React)、Nuxt.js(用户Vue的SSR)、Vue CLI(客户端Vue)、Expo CLI(用于React Native),Angular默认情况下支持。


静态网站生成工具继续发展

静态站点非常适合构建个人网站或博客。目前流行的构建静态网站的框架:


无服务器架构与JAMstack???


TypeScript可能是JavaScript的未来(但对于Flow就不一样了)

JavaScript因为没有静态类型变量而受到批评。试图纠正这一问题的两个主要库是 TypeScriptFlow。在 Stack Overflow 调查中,TypeScript的受欢迎程度高于JavaScript本身,分别为67%和61.9%。根据JS的现状调查,超过80%的开发者想要使用 TS 或者已经在使用它。对于Flow,只有34%的开发人员正在使用它或希望使用它。
所有迹象表明,TypeScript是JS中静态类型的首选解决方案,许多人选择它而不是JavaScript。2018年,TS的npm下载量大幅增长,而Flow却非常平稳。TypeScript看起来正在从一个狂热的追随者转变为广泛的应用。

TypeScript vs babel-preset-flow

webpack 4 发布

Webpack 3发布仅8个月后,版本4就发布了。Webpack 4继续推动简单和更快的构建,声称改进了98%。它选择了合理的默认值,在没有插件的情况下处理更多的开箱即用的功能,并且不再需要开始使用配置文件。Webpack现在也支持WebAssembly,并允许直接导入WebAssembly文件。


Babel 7 发布

自第6版开始将近3年后,Babel 7 于2018年发布。Babel 是将 ES6 + 代码转换为 ES5 的库,使JavaScript代码跨浏览器兼容。


VS Code Dominates the Text Editor/IDE Usage

image.png

2019年的预测

  • 随着基础的建立和对改进 web 体验的不断推动,WebAssembly将开始普及
  • React依然高居榜首,但 Vue 和 Angular 的用户数量仍会增长
  • CSS-in-JS可能会成为默认的样式化方法,而不是普通的CSS样式
  • 开发人员是否可以重新审视原生Web组件?
  • 毫无疑问,性能仍然是关注的焦点,诸如PWAs和代码分离之类的成为每个应用程序的标准
  • 在使用 PWA 的基础上,web 变得更加本地化,具有离线功能和无缝的桌面/移动体验
  • CLI工具继续的改进,以抽象出构建应用程序的繁琐方面,让开发人员专注于业务开发。
  • 更多的公司采用具有统一代码库的移动解决方案,如React Native或Flutter
  • docker、k8s等工具会更加流行
  • GraphQL使用方面会有了飞的增长,并被更多的公司使用
  • 虚拟现实技术利用A-Frame、React VR和谷歌VR等库取得了长足的进步

相关文章

  • 周回顾回顾什么?

    关于周回顾,也是2018年常常遇到的一个时间管理概念。 下面是我总结出来18年遇到周回顾的几个地方: 有感兴趣的小...

  • 读书笔记|规划最好的一年|目标回顾

    目标回顾分为三个层次:每日回顾、每周回顾、季度回顾。 每日回顾 避免目标中途遗忘,每日目标回顾的作用就是建立总体目...

  • 回顾

    我今年26岁,我的儿时记忆已经记不起多少了,能回忆起来的事情大概要从03年非典了。03年我上六年级升初中 板蓝根卖...

  • 回顾

    今天AgileCommunity的话题是“如何提升迭代回顾会议的效率和生产力?” 这个话题在上次问题收集中排在首位...

  • 回顾

    坐在车上,望着窗外熟悉的风景,时光荏苒,不知不觉间,我在这座城市呆了已有十个年头了,曾经也有离开过,过了一段时间却...

  • 回顾

    我固执的认为我的父母没办法在一起生活,这个想法不仅害了我父母,也害了我自己。 为什么会有这个想法,源自于童年的恐惧...

  • 回顾

    时间过得好快,没想到这半年就过去了,回顾总是让我容易生发出感慨,还觉得有点难以想象。这一两个月,和G先生的...

  • 回顾

    看以前的字,想笑。感觉自己进步了。加油

  • 回顾

    没什么好说的一天,认真回顾了之前的笔记 笔记做的有点复杂,抓不住重点,需要改进 学习总是枯燥,希望自己能够坚持下去...

  • 回顾

    从事教育4年来,接触过许多学生,他们普遍都会犯一个问题,不愿意复习和回顾自己做过的作业。为什么呢?大部分时候他们学...

网友评论

      本文标题:2018年回顾

      本文链接:https://www.haomeiwen.com/subject/bikklqtx.html