热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我们程序员为什么要关注 JavaScript ?_js

受这周我在企业中看到的JS现状的启发,我写了这篇文章。10年之前,我从来没有想过现在的JavaScript竟然会变得几乎无处不在。下面是几个你之所以要关注Java
文章目录[隐藏]
  •  客户端
  •  服务器端
  •  物联网
  •  生态系统

  受这周我在企业中看到的js现状的启发,我写了这篇文章。10年之前,我从来没有想过现在的Javascript竟然会变得几乎无处不在。下面是几个你之所以要关注Javascript的原因。

  首先,我认为Javascript能够得到普及的主要原因之一是,Javascript非常易于接近。学习Javascript,对于初学者而言,相对比较容易,对于高级用户而言,又非常强大,可以用它来构建复杂又可靠的系统。

  其次,之所以要关注Javascript是因为现今的Javascript已经无处不在。

  你可以使用Javascript在几乎所有平台上开发:客户端应用程序,服务器端业务逻辑,嵌入式芯片/物联网设备,管理构建脚本和依赖关系,等等。

  不过,这并不意味着你可以在任意情况下使用完全相同的代码,但你可以使用相同的技能——Javascript开发——提供跨越多个范式的解决方案。

 客户端

  Javascript可被用于支持客户端应用程序/用户界面,以及众多平台和设备的用户交互。

  web

  当然,Javascript支持web,这是肯定的。 Javascript是所有web浏览器基本的脚本语言。

  移动

  Javascript也可用于支持安装到本地设备上的移动应用程序。

  • Apache Cordovn/ PhoneGap——你可以使用PhoneGap或Cordovn建立本地安装的web技术app。 PhoneGap是Adobe的Cordovn品牌分支,但是从开发者的角度来看,它们基本上是相同的。运行在移动设备上的应用程序会带有一个web视图,用构建动态web应用程序相同的方式建立用户界面。用户界面虽然是用html以及css样式实现的,但是所有的交互都是用Javascript创建的。
  • React Native ——得到Javascript支持的web应用程序不仅可以内置web视图。React Native框架还允许开发人员使用Javascript和声明式的UI元素编写他们的应用程序,并生成一个可以在移动设备上运行的本地应用程序。在运行时,逻辑被解释为Javascript,但是所有(所有UI元素)与用户交互的东西,100%是本地的,这就提供了一个非常高品质的用户体验,而且现在还可用于ios和android应用程序。
  • Unity 3D——使用Unity 3D引擎,哪怕全部由Javascript支持,你也可以开发出丰富多彩又身临其境的移动3D模拟或游戏体验。
  • NativeScript——使用Javascript的框架,可用于构建跨平台的本地iOS,Android和Windows移动应用程序。

  桌面

  桌面应用程序也没有被Javascript排除在外。大多数桌面解决方案陷入了类似于Apache Cordovn的分类中,最终导致的结果是,web视图拥有的API层次较低,其内容开发基于web技术。

  • Electron——来自于GitHub的Node.js+Chromium桌面应用程序容器
  • app.js——Node+Chromium桌面应用程序容器
  • nw.js——另一个Node+Chromium桌面应用程序容器的框架
  • CEF——The Chromium Embedded Framework——嵌入Chrome浏览器内置于桌面应用程序的框架。

  …等等。对了,我记得,微软对于如何纯粹地用HTML / JS构建Windows应用程序,已经有了一个解决方案,而且还有更多的解决方案,但现在我一下子记不起来了。

  事实上,一些我最喜欢的桌面工具,如Slack、Atom和 VS Code实际上就是在web技术和HTML / JS的基础上实现的。

 服务器端

  最明显的是Node.js——封装了Chrome的V8 Javascript引擎的Javascript运行时——在服务器端开发和企业上已经取得了巨大的进步。 Node.js,受到express.js和loopback.io等框架的支持,使得用Javascript开发服务器端和复杂的企业应用程序中变得可能。

 物联网

  你可以完全使用Javascript来开发可运行在Arduino、树莓派或其它小平板上的无头app,你可以使用Javascript管理基础设施和物联网传感器信息流,你也可以使用Javascript为嵌入式系统编写芯片程序,可以用它控制机器人,你甚至还可以使用Javascript支持媒体中心连接电视体验。

  就像我说的……Javascript无处不在。

 生态系统

  你不仅可以到处构建和运行Javascript应用程序。 Javascript还有一个庞大而繁荣的开发者生态系统。

  Javascript是GitHub上最活跃的语言,它不仅是所有代码仓库中最活跃的,也是所有push/commit中最活跃的。

我们程序员为什么要关注 Javascript ?_js

来自于http://githut.info/ 的可视化数据

  这里有一些统计数据显示了Node.js / npm.js的增长幅度。

我们程序员为什么要关注 Javascript ?_js

NPM统计

  Node.js还在不断增长中。

图表说明了IBM重视Node.js和Strongloop。 [email protected]!http://t.co/snDt88HQC5     pic.twitter.com/nRMwYyKmdo
——Rod Boothby(@ rod11)2015年9月10日

  但是,种种这一切这并不意味着Javascript就是适用于一切的最好语言。也不意味着你取出一段源代码就能照你想的那样运行在每一种设备和上下文中。

  但是,你可以使用Javascript技术,去开发几乎任意类型的设备/下上文。当然,它不能一次编写,就到处运行,用React.js团队的话就是: learn once, write everywhere。

  英文原文:Why You Should Pay Attention To Javascript 翻译:codeceo

欢迎大家阅读《我们程序员为什么要关注 Javascript ?_js》,跪求各位点评,若觉得好的话请收藏本文,by



推荐阅读
  • 在使用 MUI 框架进行应用开发时,开发者常常会遇到 mui.init() 和 mui.plusReady() 这两个方法。本文将详细解释它们的区别及其在不同开发环境下的应用。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • libsodium 1.0.15 发布:引入重大不兼容更新
    最新发布的 libsodium 1.0.15 版本带来了若干不兼容的变更,其中包括默认密码散列算法的更改和其他重要调整。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
author-avatar
手机用户2502855257
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有