python java web前端 net 移动开发_JavaScript超越了Java,c,python等等成为Stack Overflow上最热门的...

Javascript 可以做什么

1. Web 前端

相信这个这个是毫无疑问的,在 Web 前端的地位目前是没有任何语言能撼动它的霸主地位。

image.png

2. 后端 Nodejs

Node.js 是一个 Javascript 运行环境(runtime environment),发布于2009年5月,由Ryan Dahl 开发,实质是对 Chrome V8 引擎进行了封装。Node.js 对一些特殊用例进行优化,提供替代的 API,使得V8在非浏览器环境下运行得更好。

使 Javascript 走向了服务端,这使得 Web 应用仅用一种语言即可完成。

3. 桌面应用

代表 Electron ,还有 Node-webkit 、heX

Electron 是由 Github 开发,用 HTML,CSS 和 JavaScript 来构建跨平台桌面应用程序的一个开源库。 Electron 通过将 Chromium 和 Node.js 合并到同一个运行时环境中,并将其打包为 Mac,Windows 和 Linux 系统下的应用来实现这一目的。

4. 移动端应用

代表 React Native,Weex 生态还不完善

React Native (简称RN) 是 Facebook 于 2015 年 4 月开源的跨平台移动应用开发框架,是 Facebook 早先开源的 JS 框架 React 在原生移动应用平台的衍生产物,目前支持 iOS 和安卓两大平台。RN 使用 Javascript 语言,类似于 HTML 的 JSX,以及CSS 来开发移动应用,因此熟悉 Web 前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。做到了一套代码可以运行在 Web、安卓和 IOS 上。

5. 游戏

代表 Cocos2d-js 和 Unity 3D,还有 Pomelo、Bearcat

世界上最流行的 2D 游戏引擎之一 Cocos2d 和最流行的 3D 游戏引擎之一均支持 JS 开发游戏。

Cocos2d 主要开发中小型的 2D 游戏而 Unity 3D 主要用于开发大型的 3D 游戏。

Cocos2d-JS

Cocos2d-JS 是跨全平台的游戏引擎,采用原生 JavaScript 语言,可发布到包括 Web 平台,iOS,Android,Windows Phone8,Mac,Windows 等平台,引擎基于MIT 开源协议,完全开源,免费,易学易用,拥有活跃的社区支持。Cocos2d-JS 让2D 的游戏编程门槛更低,使用更加容易和高效。和其他类似游戏框架相比,它定义了更加清晰的2D游戏编程的基本组件,采用易学易用的 API 设计,并采用全球领先、具备原生性能的脚本绑定解决方案实现游戏的跨原生平台发布,开发效率更高,使用上最简单。

Unity 3D

Unity 3D 可以用 javascript 开发,也可以用 C# 开发。

6. 物联网

代表 Cylon.js,还有 IoT.js

Cylon.js 是一个为机器人学和物联网服务的开发的 Javascript 框架。它支持 19 种不同硬件软件平台。我们的目标,是将开发软件装置变得和开发网页一样简单。

image.png

这是 2017 年 Github 最流行的 15 种语言排行榜,可以看到 Javascript 的项目数是第二名的两倍,Javascript 之所以这么流行,我想原因之一也是因为这门语言所涉及的范围太广了。

看到这里,我只想说

还有谁

将你擅长的语言编译为JavaScript

看到 Javascript 无孔不入,啥都能做,是不是在担心现在不会怎么办,不要担心,现在有很多工具帮你将你擅长的语言编译成 Javascript

将 Java 编译成 Javascript

BicaVM:一个使用JavaScript实现的JVM,可以运行60%的Java字节码

Ceylon:一个可编译为JavaScript的、模块化的、静态类型JVM语言

Doppio:一个使用 Coffeescript 实现的JVM,使得 Java 程序可以运行在任何 JavaScript 引擎上

将 C/C++ 代码编译为 JavaScript

C/C++ 如今也可以用来编写Web应用程序,同样可以将它们编译为 JavaScript。一些工具如下。

Emscripten:Mozilla 开发的 LLVM 后端,可以将任何通过 LLVM 前端(比如 C/C++ Clang)生成的 LLVMIR 中间码编译成 JavaScript 代码。

mala:可以将 vala 代码(vala代码在编译时,首先会编译为 C 代码)编译为 JavaScript

Mandreel:可以将 C++ 和 Objective-C 代码编译为高度优化的JavaScript源码

Clue:一个 C 语言编译器,可以将 C 语言代码编译为高质量的 Lua、Javascript 或 Perl 代码。

将Python代码编译为JavaScript

可以使用如下工具将 Python 代码编译为 JavaScript 代码。

Brython:用于替换网页上的 JavaScript 代码,允许使用 Python 来编写脚本,并直接在网页上执行

PYXC-PJ:可以将 Python 转换为JavaScript,并会产生一个行/列号映射文件

Pyjaco:可以将 Python 转换为 JavaScript

Pyjamas:Python to JS转换器

Pyjs:Python to JS转换器

将Ruby代码编译为JavaScript

在Ruby领域,有一个使用JavaScript实现的Ruby标准库—— RubyJS,它实现了Ruby中的所有方法,如Array、Numbers、Time等。Ruby之父松本行弘称“如果我必须编写JavaScript代码,我会使用RubyJS”。

另外,你也可以使用如下工具将Ruby代码编译为JavaScript代码。

8ball:一个可以将Ruby(或Ruby子集)的源码转换为JavaScript源码的编译器

ColdRuby:一个Ruby 1.9 MRI字节码编译器和JS运行时,包括一个C++运行时以及用于本地执行的V8引擎

HotRuby:可以在浏览器内部或Flash平台上运行由YARV编译的Ruby操作码

Opal: 一个Ruby to JavaScript编译器,可用于任何JS环境

rb2js:一个Ruby to JavaScript编译器

Red:允许你以 Ruby 的方式编写代码,然后以 JavaScript 的方式运行代码

将 .NET 代码编译为 JavaScript

你可以使用如下工具将 C# 、.NET 代码编译为 JavaScript 代码。

Blade:一个 Visual Studio 扩展,可以将 C# 代码转换为 JavaScript

jsc:可将 .NET 程序重新编译为 JavaScript、ActionScript、PHP 或 Java 程序

JSIL:可将MSIL(.NET字节码)转换为 JavaScript

Saltarelle:可将 C# 代码编译为 Javascript

SharpKit(商业工具):可将 C# 代码编译为 Javascript

Script#: 可将 C# 代码编译为 Javascript

可能这篇文章被吐槽的比较多,特别是标题,我只想说,你说的都对,我只是个标题党。

每种语言都有自己的适用场景,没有任何一种语言能啥都做得好,根据自己的需要选择就行,我这里知识做一个类似科普,万万没想到 Javascript 这么强大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue跳转到外部链接_前端实战项目:Vue.js实现外卖平台webapp,饿了么项目的翻版...

链接:https://github.com/ljianshu/mt-app适合没有经验的朋友。项目涉及到技术栈:vue全家桶:Vue、Vue-router、Vue-cli等 组件化:单Vue文件 模块化:ES6 Module 第三方模块:better-scroll axios等 基础开发环…

word跨页表格拆分与合并

拆分:Ctrlshiftenter 合并:Shift Alt 向下箭头

令xtu3service开机时立即启动_Mac开机时可以使用的快捷键 苹果电脑快捷键使用介绍...

大家都知道所有电脑在开机时,按住一些按键可以访问一些功能,当然Mac电脑也不例外。苹果电脑通过在开机启动时按住一个或多个按键可以访问一些Mac功能和工具。如果各位用户使用这些开机键组合键中的任何一个,可在按下电源按钮后,重…

feedburner怎么用_FeedBurner PRO 現在免費使用

今年5月底的時候FeedBurner才被Google以1億美元買下,在Google大金主的支援下FeedBurner現在免費讓所有的FeedBurner用戶昇級成以前要付費的PRO高級用戶。在FeedBurner後台My Account中可以看到”FeedBurner Stats PRO • Free for the life of your feed”&#xff…

word 插入图片显示不全

word插入图片显示不全: 解决方案: 选中图片-段落-行距-选择单倍、或者多倍行距都可以。即可。

操作系统-进程同步与互斥易混点

解惑1: 为使多个进程能互斥的访问某临界资源,只须为该资源设置 一个互斥信号量 mutex,初值为 1(代表临界资源只有一个) mutex初值为1.取值范围为[-1,0,1] 当mutex1时,表示两个进程皆未进入需要互斥访问的…

linux降低eigen3版本_玩转 Windows 自带的 Linux 子系统 (图文指南)

涉及到计算机科学离不开 Linux 系统,当然,也离不开Windows。但是,二者从操作到核心的不同,貌似让鱼和熊掌不可兼得。但是!微软已经拿出了一款让鱼和熊掌兼得的方案 WSL (Windows Subsystem for Linux&#…

hbuild json红叉_MUI+Hbuilder之踩坑(三)

1.1获取input值单个js:var input_ document.getElementById(inputid);var input_mui mui(#inputid);console.log(input_.value);//aaaconsole.log(input_mui.value);//undefindconsole.log(input_mui[0].value);//aaamui元素药转成DOM元素才能用。。什么鬼!用mui元…

处理死锁的四种方法

前面讲过预防死锁是通过破坏死锁的四个必要条件,所以就有四个预防死锁的方法吗?错!只有三种,因为互斥条件是必须的,不仅不能改变,还应该加以保证。因此只能破坏后三个条件。 一、破坏请求和保持条件 方法…

c++输出小数点后几位_Python格式化输出的精度和位数控制

上一期小哥讲解了Python格式化输出的三种方式:本期小哥讲解一下关于小数精度和字符串位数的控制:1. 小数精度控制Python中对于小数精度的控制的使用方法:# 定义变量a 3.1415926# 小数点后保留3位%.3f% a# 输出:3.142# 小数点后保…

ifeq makefile 或语句_学习笔记:Makefile的ifeq逻辑或,逻辑与的变通实现

(1)ifeq的用法ifeq ($(变量名), 变量值 )........else ifeq ($(..), ..).........else.........endif(2)最近在学习makefile的过程中遇到需要用ifeq进行逻辑与判断,但是ifeq并没有像其他编程语言那样有 逻辑或(||) 逻辑与(&&) 的符号可用。这时…

自动目录中的页码格式-1-变为为1

论文要求:正文页码格式为-1- 形式, 目录页码格式为1形式。(只有阿拉伯数字,没有中划线) 于是:引用-生成自动目录后,目录中的页码也是-1-的形式。 解决方案: 正文页码格式为:1 形…

jenkins插件调用job_【Jenkins插件_实践】1.Job Import Plugin迁移Jobs

引言如果,你想将远程服务器A中jenkins的Job同步或导入到远程服务器B中的jenkins?最原始的方法是将A中jenkins的jobs目录文件的内容打包复制到B中jobs目录中。但是,笔者认为,这种方法只有万一不得以才可一用。如果,后期…

tomcat 参数最佳实践_一线架构师开发总结:剖析并发编程+JVM性能,深入Tomcat与MySQL...

每一个程序员都有自己清晰的职业规划和终极目标,无论之后是继续钻研技术,还是转管理岗、产品岗,都是需要自己具备有一定的实力,换句话说技术要牛逼。架构师,是很多程序员的终极目标,而成为一名Java架构师&a…

改进型的时钟置换算法-解惑

此算法又称为第二次机会算法;大致有两种思路: 思路1: 王道讲解的: 思路2: 清华大学陈渝讲解的: 刚开始接触时,觉得有一个是错误的,但不知道是哪个错误,其次清华大学这…

机器人合金礼包_《Apex英雄》福利twitch礼包领取详细攻略,1机器人皮肤+5个包!...

原标题:《Apex英雄》福利twitch礼包领取详细攻略,1机器人皮肤5个包!【立马游戏加速器游戏资讯】《Apex英雄》twitch礼包中包含1机器人皮肤和5个包,相信很多玩家都想要这个礼包!然而这礼包怎么领取呢?今天小…

python hack_Python进阶:深入GIL(上篇)

Python进阶:深入GIL(上篇)HackPython致力于有趣有价值的编程教学 简介 熟悉Python的人理应都听过GIL(Global Interpreter Lock,全局解释器锁) ,大概也知道它就是造成Python多线程并发其实是「伪并行」的核心原因,但依旧很多人没有…

ifconfig相关

目录 一、ifconfig command not found 二、ifconfig结果相关参数解释 一、ifconfig command not found 出现这个问题的原因是新版本的linux默认不带 ifconfig(我这里是centos7,最小安装),官方推荐使用ip命令查看ip:i…

k8s jenkins pipeline 多分支发布_给 Jenkins 换一个新皮肤:BlueOcean

BlueOcean是什么Jenkins是一款Java开发的跨平台持续集成和持续发布的开源项目,它具有如下特征:安装及迁移方便:安装直接部署war包,迁移只需替换JENKINS_HOME目录。配置方便:可视化后台操作。丰富的插件生态圈&#xff…

python能做什么效果_python对于做SEO主要有什么作用?

一直没完整的解释这个问题,这边详细说下吧。准确说不是Python对SEO有什么作用,而是会一门程序语言对SEO有什么用。Python仅是诸多程序语言中,个人评估下来最为推荐的一种,但用其它程序语言一般也没太大的差别。后面简单起见都以Py…