• 最流行的编程语言JavaScript能做什么?


    首先非常遗憾的一点是,“PHP尽管是最好的语言”,可是它不是最流行的语言。

    Sad

    对不起的还有刚刚在4月TIOBE编程语言排行榜上榜的各个语言:

    Tiobe四月

    你们都非常棒。可是你们都担当不了这个大任。

    開始之前,我先说一下我经常使用的三个语言:Java、JavaScript、Python。

    • Java,让我学到了非常多架构层级的知识。这一点能够參考我之前写的架构相关文档。尽管我一点儿也不喜欢这个语言,可是它真的非常棒。
    • Python。它真的足够简单。以至于我喜欢拿它学习各种理论知识。如推荐系统、贝叶斯定理、自然语言处理等等。
    • JavaScript。看下文。

    数据可视化

    在过去我阅读的一些书籍里面,主要是以Processing作为可视化的语言——它起始于2001年。它最初是面向美术工作者和设计者创建的,后来变成了全面的设计和原型工具,能够用于创建复杂数据可视化领域。

    Processing

    Processing被带入了到Web领域产生了Processing.js。还出现了D3.js。

    D3.js

    当然还有Plotly、Leaflet、Sigma JS等等的工具。

    移动端应用: Cordova

    接着就是PhoneGap(今天的Cordova),将WebView带向了移动应用。也将JavaScript带向了移动应用。

    Cordova

    使用Cordova,能够让我们一次开发多平台公布。我们也顺便提一下Ionic,作为混合应用的翘楚:

    Ionic

    移动端应用: React Native

    既然我们已经提到了Cordova。那么我们也应该说说React Native。也是一次开发多次执行:

    React Native

    尽管它的坑还有非常多。可是还是值得期待的。

    服务端:Node.js

    正是V8的性能将JavaScript带到了一个新的高度,于是Node.js诞生了——前端、后台都能够用JavaScript。一个JavaScript的全栈时代。

    Nodejs

    Mongodb作为数据库。Express作为Server端MVC,他们能够提供一个RESTful服务,那么再加上MVVM框架的Angular.js。你就知道我在说什么!

    mean.png

    桌面应用: NW.js 和 Electron

    NW.js 是基于 Chromium 和 Node.js 执行的。 它们能够让我们用HTML和JavaScript来制作桌面应用。

    除了NW.js还有近期比較火的Electron。Atom编辑器的

    Electron

    与Cordova的多平台构建多版本号不同的是,Electron能够在一个平台上构建多个平台的应用。

    即我们能够在Mac OS上打包出Linux和Windows上的应用,而不须要在Windows再编译一次。

    带向了桌面端。让桌面和Web保持了一致。最成功的案例就是估值达30亿美元的Slack:

    Slack

    So。假设你使用桌面端的Slack就会非常卡~~。

    全平台应用

    还记得我写的那篇《一份代码构建移动、桌面、Web全平台应用》。在Eletcron上执行Ionic。就意味着无限的可能性。

    一份代码构建移动、桌面、Web全平台应用

    能用Web开发的事情就用Web来完毕就好了。

    游戏

    自从WebGL被带入浏览器的那一刻。就决定了这又是一个新的天地。

    HTML5 游戏

    让我们忘记编译、启动更新、外挂等等的问题,而且我们还能够一次开发直接执行。

    VR

    假设你看到过之前的那篇《JavaScript在VR世界的应用》,那么你就会对这个内容有很多其它的印象。

    主要思想还是通过WebView来渲染VR视角:

    Three.js Oculus

    而且各浏览器产商各在推进WebVR 为虚拟现实设备显示提供支持。

    AR

    尽管大部分的AR应用可能离我们有点远,可是离我们近期的就是Leap Motion——它能够利用手掌和手指动作来进行输入,但无需手部接触或者触摸。

    Leap Motion

    同理于VR。读取传感器的数据,再将其手势交由浏览器端来处理。具体能够參考我之前写的:《Leap Motion JavaScript开发 手势控制基础篇

    硬件

    早先我看到了Arduino在编译的时候,以DSL的方式封装了API。而NodeMCU则内建了Lua语言的支持,能够让開始者使用Lua来開始。 而Tessel 原生就提供了JavaScript执行环境,我们写须要写好JavaScript就能够在上面执行。

    Tessel 2

    Tessel 2属于配置比較高的硬件,而低配的呢?

    三星设计了JerryScript引擎,它能够执行在小于64KB内存上。且所有代码能够存储在不足200KB的仅仅读存储(ROM)上。

    IoT.js

    想想就认为未来是美好的。

    物联网

    等等,上面三星推出的是IoT.js。这就意味着它已经能够在物联网领域中应用了。为什么还会有这里的应用呢?我仅仅是想略微提一下这个:

    IoT Node.js

    上面说到的仅仅是Node.js在Web中的应用,而物联网和Web的非常大不同之处在于,物联网能够使用各种不同的协议,而这些协议都须要Node.js对其的支持。

    因此,假设我们须要開始Web版、移动应用,那么我们自然更须要其作为后台。

    操作系统界面

    尽管更好的机器带来了更好的性能,可是显然人们对于原生应用的需求并没有那么强烈。Firefox OS已经在移动操作系统败下阵来,可是这个操作被带到了物联网领域:

    Firefox OS

    这就意味着,我们能够使用JavaScript来开发操作系统的界面了。

    你认为JavaScript还能做什么?

    很多其它精彩内容欢迎关注我的微信公众号:Phodal
    http://articles.phodal.com/qrcode.jpg

  • 相关阅读:
    《生命摆渡人》 读书笔记 读后感
    《饮食术》 读书笔记 读后感
    《天生有罪》读后感 读书笔记
    《内在动机》 读后感 读书笔记
    《从疾病到人心》读后感 读书笔记
    Python 入门书籍文档推荐及学习笔记总结
    JavaScript 入门书籍推荐及学习笔记总结 -- 《JavaScript权威指南》
    JavaScript中window.onload事件与document.ready事件的区别
    CentOS 7 中安装 MySQL 8 以及 MySQL 常用操作
    Python 杂记:argparse 模块
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/7159145.html
Copyright © 2020-2023  润新知