英文原文  (内有视频)。


以下是翻译和摘录。


最近JS状态调查结构出来了,如果你关心网页开发,你会关心这些结果。

本文探索5个takeaways并总结这些结论。


1. JavaScript Had to Evolve

如果你看了这篇文章,就理解了JavaScript 不得不发展和不断的继续进化。

我想从JS开始的程序员没有注意到其他语言的许多令人惊讶的功能,这次调查结果反应了这个情况。

JavaScript is still playing catchup in many ways! JS仍在不断的追赶。

TypeScript

a superset of JS tha compiles to clean JS output.

它的使用不断增长,更多开发者希望让JS的结构更像Java或C#

开发者喜欢JS的灵活性,但有时希望它更有结构一些

ES6

它带来了很多新功能,大多数人喜欢用classes, arrow functions。

2. Tools Are Better and It Makes a Difference

工具驱动Js的进化。

JavaScript Flavors(js调味品)

如之前谈过的ES6和TypeScript。

ES6更像是一系列的功能而不是调味品。

但TypeScript感觉 feels apt here.

它使用工具转化让浏览器理解的标准JavaScript。

其他的flavors见介绍

Command Line Interfaces(CLIs)

使用大多数Js框架,你会得到一个command line interface。

例如通过NPM按照Js包就是通过command line。

如果你看主要的3个前端框架Angular, React and Vue, 它们生成新程序,开始一个live-reloading server, 构建最后的assets等等都需要CLIs。

3. JavaScript is More Than Just Web

JS能用于几乎任何平台。

Desktop Apps

例如Electron.js (https://electronjs.org/)

让开发者使用JS, HTML, CSS创建跨平台的桌面应用。

Visual Studio Code用Electron建立,并在网页开发中,快速成为知名的开发编辑器。

Mobile Apps

过去,网页技术通过包裹一个web app在一个web view组件内来创建移动app。一般来说,这种方法性能弱于native applications。

Cordova follows this approach, and is still a viable option.

However, React Native has gained lots of traction over the past couple of years.

It allows you to create truly native applications meaning you don't have to sacrifice performance.

As popular as React is (look above), React Native becoming more widely used just makes sense!

Progressive Web Apps

在过去一年得到了大量关注。它是web app 和 mobile app的一个混血。

允许用户在它们的设置上install the page。

Server

你部不仅关注web ,Mobile, Desktop的JavaScript。 你也使用Node.js写server code。

大量公司喜欢Netflix, Paypal, Uber, and LinkedIn leverage Node,

越来越多的新手使用它们,而不用PHP, Ruby, etc.

和其他JS目录一样,Node上也有一些框架。

Express.js是目前最著名的。

还有其他一些框架,参考https://scotch.io/bar-talk/10-node-frameworks-to-use-in-2019

4. Servers Are Slightly Less Needed

“Serverless” 出现在“Other Libraries”章节的“后端框架工作”。

Serverless Functions由第三方提供,负责server软件维护和管理。

这意味着程序员写后端的代码会减少。

Static Site Generators

因为前后端的解耦,开发者常常使用Serverless Functions来代替写一个server。

更多了解: 5 Reasons Static Sites Rock.

FireBase

它提供完全的后端服务。

由google提供的全面的移动开发平台,提供了另一种可选的写后端的方法。

它管理hosting, authentication, cloud storage, etc.

提供任何你需要的功能来支持你的web app

5. Testing is becoming more and more important

2018JavaScript状态调查:5个重要的思考( import takeaways) (摘译)的更多相关文章

  1. 2017-2018年Scrum状态调查报告

    HOW SCRUM IS USED 在2017年的报告中,Scrum的应用范围在扩大,已经从其发源的IT部门扩展到了相距甚远的业务部门.2017-2018年度报告的其中一个主要目标就是关注更广泛的敏捷 ...

  2. 2016年Scrum状态调查报告

    背景 Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发,包括一系列实践和预定义角色的过程骨架.Scrum由Jeff Sutherland和Ken Schwaber在一次IBM项目合作中研究 ...

  3. 2015 DevOps状态调查报告

    依据Puppet Labs的2015 DevOps调查报告(下载地址:https://puppetlabs.com/2015-devops-report),调查研究表明: 拥有强IT服务绩效的企业一般 ...

  4. 2017年IT行业测试调查报告

    在刚刚过去的2017年, 我们来一起看一下2017年IT行业测试调查报告 还是1到5名测试工程师最多 Test Architects 在北上广一线城市已经出现 https://www.lagou.co ...

  5. Elasticsearch 集群和索引健康状态及常见错误说明

    之前在IDC机房线上环境部署了一套ELK日志集中分析系统, 这里简单总结下ELK中Elasticsearch健康状态相关问题, Elasticsearch的索引状态和集群状态传达着不同的意思. 一.  ...

  6. hdu 1074 状态压缩

    http://acm.hdu.edu.cn/showproblem.php?pid=1074 我们可以断定状态的终止态一定是n个数全部选完的情况,那么它的前一个状态是什么呢,一定是剔除任一门课程后的n ...

  7. 怎样选择正确的HTTP状态码

    本文来源于我在InfoQ中文站翻译的文章.原文地址是:http://www.infoq.com/cn/news/2015/12/how-to-choose-http-status-code 众所周知. ...

  8. What number should I guess next ?——由《鹰蛋》一题引发的思考

    What number should I guess next ? 这篇文章的灵感来源于最近技术部的团建与著名的DP优化<鹰蛋>.记得在一个月前,查到鹰蛋的题解前,我在与同学讨论时,一直试 ...

  9. React Native知识11-Props(属性)与State(状态)

    一:Props(属性) 大多数组件在创建时就可以使用各种参数来进行定制.用于定制的这些参数就称为props(属性).props是在父组件中指定,而且一经指定,在被指定的组件的生命周期中则不再改变 通过 ...

随机推荐

  1. Python3 tkinter基础 Listbox Button 点击按钮删除选中的单个元素

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  2. 怎么删除git本地分支以及Bitbucket的远程分支?

    1. 如果分支只是本地分支,则可以使用 -d (如果分支已合并),例如 git branch -d <branch name>如果分支包含不计划合并的代码,请改用 -D (即使有没有mer ...

  3. 【#和$】MyBatis中#和$的区别

    一.结论 #{}:占位符号,好处防止sql注入 ${}:sql拼接符号 二.具体分析 动态 SQL 是 mybatis 的强大特性之一,也是它优于其他 ORM 框架的一个重要原因.mybatis 在对 ...

  4. (转载)c# winform 窗体起始位置 设置

    窗体起始位置为顶部中间,WinForm居中显示: ; ; this.StartPosition = FormStartPosition.Manual; //窗体的位置由Location属性决定 thi ...

  5. 4、Python文件对象及os、os.path和pickle模块(0530)

    文件系统和文件 1.文件系统是OS用于明确磁盘或分区上的文件的方法和数据结构---即在磁盘上组织文件的方法: 文件系统模块:os 2.计算机文件(称文件.电脑档案.档案),是存储在某种长期储存设备或临 ...

  6. HDU 5143 NPY and arithmetic progression(思维)

    http://acm.hdu.edu.cn/showproblem.php?pid=5143 题意: 给定数字1,2,3,4.的个数每个数字能且仅能使用一次,组成多个或一个等差数列(长度大于等于3), ...

  7. 利用JavaScriptSOAPClient直接调用webService --完整的前后台配置与调用示例

    JavaScriptSoapClient下载地址:https://archive.codeplex.com/?p=javascriptsoapclient JavaScriptSoapClient的D ...

  8. react native 第三方组件react-native-swiper 轮播组件

    github地址:https://github.com/leecade/react-native-swiper 使用方法:安装:npm i react-native-swiper –save 查看模块 ...

  9. 在ETH交易区块链里查看北大的那封信

    本文仅限于科普编码知识使用,随便举的例子不代表本人立场. 欢迎在其他网站传播,但转载不得标注来源及作者. 1.随便打开一个ETH区块链浏览网站,比如:https://www.etherchain.or ...

  10. JTopo使用心得

    因为工作关系,最近用到了拓扑图,找了一溜工具后,发现了这个--JTopo,纯国产而且免费 当然了如果你英文水平足够好的话.也可以看看这些英文的做拓扑图的工具,以下网站出自知乎回答:开源HTML5 绘图 ...