英文原文  (内有视频)。


以下是翻译和摘录。


最近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. Golang中使用kafka

    golang中比较好用的kafka client有 sarama confluent-kafka-go go_kafka_client optiopay-kafka siesta 其中 sarama的 ...

  2. linux基础之程序包管理(rpm,yum)

    一.rpm 安装:rpm { -i | --install } [ install-options ] PACKAGE_FILE... -v: 显示安装时的详细信息 -vv: 显示许多难以阅读的调试信 ...

  3. 《OFFER14》14_CuttingRope

      // 面试题14:剪绳子 // 题目:给你一根长度为n绳子,请把绳子剪成m段(m.n都是整数,n>1并且m≥1). // 每段的绳子的长度记为k[0].k[1].…….k[m].k[0]*k ...

  4. CodeForces 430A Points and Segments (easy)(构造)题解

    题意:之前愣是没看懂题意...就是给你n个点的坐标xi,然后还规定了Li,Ri,要求给每个点染色,每一组L,R内的点红色和黑色的个数不能相差大于1个,问你能不能染成功,不能输出-1,能就按照输入的顺序 ...

  5. 【做题】UVA-12304——平面计算集合六合一

    可真是道恶心题-- 首先翻译一下6个任务: 给出一个三角形,求它的外界圆. 给出一个三角形,求它的内接圆. 给出一个圆和一个点,求过这个点的切线的倾斜角\(\alpha \in [0,180)\).( ...

  6. 【Spring Security】三、自定义数据库实现对用户信息和权限信息的管理

    一 自定义表结构 这里还是用的mysql数据库,所以pom.xml文件都不用修改.这里只要新建三张表即可,user表.role表.user_role表.其中user用户表,role角色表为保存用户权限 ...

  7. HDU 4312 Meeting point-2(切比雪夫距离转曼哈顿距离)

    http://acm.hdu.edu.cn/showproblem.php?pid=4312 题意:在上一题的基础上,由四个方向改为了八个方向. 思路: 引用自http://blog.csdn.net ...

  8. Java 数据库篇

    一.简易封装JDBC工具类: package com.jackie.MyBatis.main; import java.sql.Connection; import java.sql.DriverMa ...

  9. linux_nmon监控方法

    一.介绍 Nmon 工具是 IBM 提供的免费的在AIX与各种Linux操作系统上广泛使用的监控与分析工具.该工具可将服务器的系统资源耗用情况收集起来并输出一个特定的文件,并可利用 excel 分析工 ...

  10. _event_stop

    EventId 事件ID TeamId 事件玩家分组,攻守(防守为1,进攻为2),自定义阵营(_faction表自定义阵营ID),公会(公会guid) StopType 结束事件需要满足的条件,枚举类 ...