阅读更多

12顶
19踩

编程语言

原创新闻 JavaScript 的替代品

2012-12-11 17:06 by 副主编 wangguo 评论(87) 有43839人浏览
JavaScript几乎无处不在,HTML5的出现,使得JavaScript达到了前所未有的高度。如今,JavaScript已经开始向移动应用开发领域渗透,成为开发跨平台应用不可或缺的语言。

如果你不会JavaScript,或者你对JavaScript的语法不满意,这一点都不影响你的web应用的开发工作,相反,你可以使用其他语言来代替JavaScript。尽管目前的浏览器尚不支持这些语言,但你可以将它们编译成为JavaScript代码。

比如,如果你更喜欢经典的面向对象方式,并想要一些语法糖,那么你可以试试CoffeeScript;如果你希望有一个更严格的类型系统,那么你可能会发现Dart或TypeScript更有趣一些;如果你更喜欢函数式编程,那么ClojureScript或Roy可以帮助你。

下面就是一些JavaScript的替代方案。这些语言之所以能够成为JavaScript潜在的替代品(实际上还无法替代),说明它们足够优秀,而它们优秀的原因,正是因为它们“站在JavaScript的肩膀上”。

1.  CoffeeScript官方网站 / GitHub

CoffeeScript是一个使用纯Ruby编写的编程语言,创建者Jeremy Ashkenas戏称它是“JavaScript的不那么铺张卖弄的小兄弟”。优势如下:

  • CoffeeScript只使用了JavaScript的“精髓”,抛弃了原来JavaScript晦涩、容易出问题的那部分东西,如全局变量声明、with等。
  • CoffeeScript提供了很多语法糖,让代码更优雅可读。
  • CoffeeScript还提供了一个机会,让你现在就可以使用ECMAScript的新特性。


2.  Dart官方网站

Dart是谷歌推出的一种基于类的可选类型化编程语言,主要用于创建Web应用程序。谷歌称,Dart的设计目标是为Web编程创造结构化但又富有灵活性的语言;编程方法一目了然,符合程序员的自然习惯,易于学习;能在所有浏览器和不同环境中实现高性能。

Dart代码以两种方式执行,一种是原生虚拟机,一种是JavaScript引擎,用编译器将Dart代码翻译成 JavaScript代码。这允许程序员在Dart中创建Web应用,编译后在任何浏览器上运行。



3.  TypeScript官方网站

TypeScript是微软开发的开源编程语言,它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。TypeScript扩展了JavaScript的句法,所以任何现有的JavaScript程序可以不加改变的在TypeScript下工作。TypeScript是为大型应用之开发而设计,而编译时它产生 JavaScript 以确保兼容性。



4.  ClojureScriptGitHub

ClojureScript是由Clojure的创建者Rich Hickey推出的,目标是“做Javascript所能做到的事情”。它是LISP 和 Java 技术结合的产物,兼具函数编程和Java平台的优势,聚焦于低错和易用的并发编程,同时足以完成一个通用编程语言的各种任务。你可以通过ClojureScript使用Clojure语言编写代码,然后将其编译为Javascript。

5.  Opal官方网站 / GitHub

一个可将Ruby代码转换为JavaScript的编译器。



6.  IcedCoffeeScript官方网站 / GitHub

这是Coffeescript语言的扩展集。iced解析器是标准coffee解释器的非正式替代方案,因为它能解释所有现存的Coffeescript程序。它添加了2个关键字:await 和 defer,为浏览器和服务器两者提供了强大的异步控制功能。



7.  LiveScript官方网站 / GitHub

LiveScript是Coco的一个分支,是CoffeeScript的间接子集,并在面向对象和命令式编程方面进行了诸多改进。其代码可以编译成JavaScript。



8.  Kaffeine官方网站 / GitHub

Kaffeine是JavaScript语法的扩展,与JavaScript非常类似,代码可以直接编译成JavaScript。



9.  Roy官方网站 / GitHub

Roy是一个以JavaScript为目标的试验性的编程语言,试图融合JavaScript语义和静态函数语言的一些特点,如Damas-Hindley-Milner类型接口、缩进语法、编译时元编程、模式匹配、Monad语法等。



Via Jster
  • 大小: 52.1 KB
  • 大小: 33 KB
  • 大小: 40.5 KB
  • 大小: 39.3 KB
  • 大小: 54.6 KB
  • 大小: 59.7 KB
  • 大小: 33.6 KB
  • 大小: 31.3 KB
12
19
评论 共 87 条 请登录后发表评论
67 楼 欧阳鹏 2013-01-06 10:19
喷来喷去有意思吗?各喜欢啥用啥去
66 楼 dsjt 2012-12-17 10:20
CoffeeScript
这名字好山寨啊!!
65 楼 kidneyball 2012-12-17 04:12
damoqiongqiu 写道
kidneyball 写道
damoqiongqiu 写道
xuanziday 写道
如果你学的第一门语言,你会觉得其他语言很2很垃圾。
每个语言都有存在的意义,对你而言只是用与不用而已,何必在这里愤愤不平?

现在这里的人怎么都这么浮躁,出口就是刀子,争赢了输了跟你有关系吗

说得有道理,不能适应不同的语言其实不适合做程序员的。
想必各位在写Java、SQL、Py脚本、AS3、汇编的时候都遇到相当多不爽的地方。但是想要真正替代这些语言可能性有多大?
曾经有个牛叉的老外写过一本书专喷Java,没记错的话还说Java在10年内必死,新语言叉叉叉会替代它云云,至今10年移过了吧,并没有看到这种趋势。
新语言带来新特性,一定会同时引入让人不爽的地方。
所谓送走小鬼迎来了阎王,这种事情一直在发生。


这位对“替代”的理解有误吧。替代不是指“完全取代”,不是指一个语言把另一个语言搞得完全没有人用了。而是我不想用某种技术的时候,有功能类似的东西可以选用。从这个角度看,Java在企业级的替代品有C#,在轻量级有RoR,PHP,Node.js;SQL的替代品有各种ORM框架;Py脚本的替代品有Ruby脚本,Groovy脚本等等;AS3的替代品有HTML5下的Javascript;汇编的替代品有C。但目前Javascript在前端尚没有真正意义的替代品。我个人还是希望能多点选择的,long断必然导致fu败,IE6就是一个经典例子。

另外,从“适应语言”的角度看,你认为“觉得9个新语言很二”跟“觉得JS很二”哪个更“不能适应各种语言”,就算退一万步来看,也就是五十步笑百步而已。

我并不想喷你,既然你不断纠缠,小僧就勉为其难喷你一番。
你个蠢货居然说C是汇编的替代品,你这智商还适合写程序吗?


昨晚时间不多,现在简单谈谈C和汇编的问题,避免歪楼太严重,就不列1234了。就说一个例子,在“功能替代”的层面上,你只需要取查维基百科的UNIX条目,你就能看到:
引用

在当时(1973年),为了实现最高效率,系统程序都是由汇编语言编写,所以汤普逊和里奇此举是极具大胆创新和革命意义的。用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后Unix的发展奠定了坚实基础。

就看两个事实:1973年前有多少系统程序是用汇编写的(都是),现在有多少系统程序是用C写的(大部分是)。

再强调一次,我认为这里说的替代不是指“在所有场景下完全取代”(这不可能,除非生产厂家不干了,但一个曾经广泛应用的语言比其厂家生命周期还长,古看Cobol,今看Delphi就知道了),而是在大部分场景下,程序员有得选。对于这类替代品的发展,我持支持态度。
64 楼 bluedest 2012-12-16 20:50
关于这个话题,每个事物有其优缺点,关键在于你怎么看待他们。对于人生,对于自己,谁敢说自己是一尘不染的?
63 楼 kidneyball 2012-12-16 19:56
damoqiongqiu 写道

我并不想喷你,既然你不断纠缠,小僧就勉为其难喷你一番。
你个蠢货居然说C是汇编的替代品,你这智商还适合写程序吗?


聊聊主题我就有兴趣,互喷就恕不奉陪了 
62 楼 damoqiongqiu 2012-12-16 19:37
kidneyball 写道
damoqiongqiu 写道
xuanziday 写道
如果你学的第一门语言,你会觉得其他语言很2很垃圾。
每个语言都有存在的意义,对你而言只是用与不用而已,何必在这里愤愤不平?

现在这里的人怎么都这么浮躁,出口就是刀子,争赢了输了跟你有关系吗

说得有道理,不能适应不同的语言其实不适合做程序员的。
想必各位在写Java、SQL、Py脚本、AS3、汇编的时候都遇到相当多不爽的地方。但是想要真正替代这些语言可能性有多大?
曾经有个牛叉的老外写过一本书专喷Java,没记错的话还说Java在10年内必死,新语言叉叉叉会替代它云云,至今10年移过了吧,并没有看到这种趋势。
新语言带来新特性,一定会同时引入让人不爽的地方。
所谓送走小鬼迎来了阎王,这种事情一直在发生。


这位对“替代”的理解有误吧。替代不是指“完全取代”,不是指一个语言把另一个语言搞得完全没有人用了。而是我不想用某种技术的时候,有功能类似的东西可以选用。从这个角度看,Java在企业级的替代品有C#,在轻量级有RoR,PHP,Node.js;SQL的替代品有各种ORM框架;Py脚本的替代品有Ruby脚本,Groovy脚本等等;AS3的替代品有HTML5下的Javascript;汇编的替代品有C。但目前Javascript在前端尚没有真正意义的替代品。我个人还是希望能多点选择的,long断必然导致fu败,IE6就是一个经典例子。

另外,从“适应语言”的角度看,你认为“觉得9个新语言很二”跟“觉得JS很二”哪个更“不能适应各种语言”,就算退一万步来看,也就是五十步笑百步而已。

我并不想喷你,既然你不断纠缠,小僧就勉为其难喷你一番。
你个蠢货居然说C是汇编的替代品,你这智商还适合写程序吗?
61 楼 chenjie100 2012-12-16 18:56
每种语言有优点就必然有缺点,存在就自然有它的道理,至少在历史上是发挥过价值的。JS这种语言致命缺点是效率过于低下。
60 楼 kidneyball 2012-12-16 13:50
damoqiongqiu 写道
xuanziday 写道
如果你学的第一门语言,你会觉得其他语言很2很垃圾。
每个语言都有存在的意义,对你而言只是用与不用而已,何必在这里愤愤不平?

现在这里的人怎么都这么浮躁,出口就是刀子,争赢了输了跟你有关系吗

说得有道理,不能适应不同的语言其实不适合做程序员的。
想必各位在写Java、SQL、Py脚本、AS3、汇编的时候都遇到相当多不爽的地方。但是想要真正替代这些语言可能性有多大?
曾经有个牛叉的老外写过一本书专喷Java,没记错的话还说Java在10年内必死,新语言叉叉叉会替代它云云,至今10年移过了吧,并没有看到这种趋势。
新语言带来新特性,一定会同时引入让人不爽的地方。
所谓送走小鬼迎来了阎王,这种事情一直在发生。


这位对“替代”的理解有误吧。替代不是指“完全取代”,不是指一个语言把另一个语言搞得完全没有人用了。而是我不想用某种技术的时候,有功能类似的东西可以选用。从这个角度看,Java在企业级的替代品有C#,在轻量级有RoR,PHP,Node.js;SQL的替代品有各种ORM框架;Py脚本的替代品有Ruby脚本,Groovy脚本等等;AS3的替代品有HTML5下的Javascript;汇编的替代品有C。但目前Javascript在前端尚没有真正意义的替代品。我个人还是希望能多点选择的,long断必然导致fu败,IE6就是一个经典例子。

另外,从“适应语言”的角度看,你认为“觉得9个新语言很二”跟“觉得JS很二”哪个更“不能适应各种语言”,就算退一万步来看,也就是五十步笑百步而已。
59 楼 theoffspring 2012-12-16 09:36
没有ide的支持,使用这些半成品就是给自己找别扭
58 楼 damoqiongqiu 2012-12-16 00:40
xuanziday 写道
如果你学的第一门语言,你会觉得其他语言很2很垃圾。
每个语言都有存在的意义,对你而言只是用与不用而已,何必在这里愤愤不平?

现在这里的人怎么都这么浮躁,出口就是刀子,争赢了输了跟你有关系吗

说得有道理,不能适应不同的语言其实不适合做程序员的。
想必各位在写Java、SQL、Py脚本、AS3、汇编的时候都遇到相当多不爽的地方。但是想要真正替代这些语言可能性有多大?
曾经有个牛叉的老外写过一本书专喷Java,没记错的话还说Java在10年内必死,新语言叉叉叉会替代它云云,至今10年移过了吧,并没有看到这种趋势。
新语言带来新特性,一定会同时引入让人不爽的地方。
所谓送走小鬼迎来了阎王,这种事情一直在发生。
57 楼 swanky_yao 2012-12-14 17:58
并没看到希望
56 楼 kidneyball 2012-12-14 17:16
所谓码农 写道

你非要用oo的思想来理解javascript,不以javascript的思想来写js,而把那些当成js的不足,那我就没什么好说的了。
1.为什么需要namespace?像java或者C#那样?C也没有namespace,没见你喷C?javascript不能很好的解决命名冲突的问题吗?你有见过jQuery和别的库冲突吗?
2.请用===操作符替代。
3.只能告诉你,它确实是这样的,而且不止是js是这样。
4.javascript本身就是基于原型的,你非要搞个继承,就像一个好好的男人你非要去做伪娘。
5.这只是一个陷阱,它并不把for当成一个context,非要这样用的话改成这样:
var arr = [1,2,3]; 
var out = []; 
for(var i = 0; i<arr.length;i++) {
(function(){
   var item = arr[i]; 
   out.push(function(){ alert(item); }); 
})();

out.forEach(function(func){ func(); });
6.我建议你接受它,因为它确实是这样的
7.你完全可以全加上分号,这种问题一般是在压缩之后才会产生,换行符被删掉了,找不到终结符怎么做语法解析。不喜欢你可以使用严格模式(Strict Mode),强制你写;号.


1. 我倒无意吵架,不过这种逻辑实在是说不通。如果这种说法成立,那最优秀的语言叫“机器语言”,就是010101那种,你要是觉得不喜欢,那是因为你非要用人类的思想来理解机器语言,而不用机器的思想来写机器语言,而把那些当成机器语言的不足。

2. 其他还好接受,就是这种“这是个陷阱”,“它确实就是这样的”,话说我还真没见过其他成熟的语言能理直气壮的说某个不符合人类直觉的语言特性没有任何其他原因,只因为“我就是这样的,而且能好几年都不改。说到底就是“我有我的历史原因,反正你也没其他东西可用,就这样吧”
55 楼 kanme818 2012-12-14 17:02
吵个毛吵,大家都是可怜的码农,说不定看着帖子的有你老板,正在偷着乐笑这些可怜的码字员。
54 楼 kjj 2012-12-14 16:54
半人马 写道
kidneyball 写道
xuanziday 写道
如果你学的第一门语言,你会觉得其他语言很2很垃圾。
每个语言都有存在的意义,对你而言只是用与不用而已,何必在这里愤愤不平?

现在这里的人怎么都这么浮躁,出口就是刀子,争赢了输了跟你有关系吗


其实看看一下讨论的过程还是挺有意思的:

反方:这9种语言太二了,没前途
正方:我就没看过比js更二的,js没被替代就是因为历史原因
反方2:你能举出js要被替代的地方吗
正方:(列举一堆js令其不爽的地方)
反方:这都是语言特性,你连这都不懂就别出来混了
乱入:其实历史原因不是问题,利益角逐才是问题
乱入反方: 利益角逐不是问题,历史原因才是问题
反方:我再强调一下,我说的不是js不二,而是这9种语言更二
正方:那你说这9种语言二在哪里?
反方:我就不说,你奈我何?
乱入:怎么又吵起来了
乱入2:存在就是道理,都别吵了
乱入3: 吵架的人比这10种语言更二
...


反方2:我建议你接受我的2,因为我就是这样的!

无理取闹,有意思吗,没有一点作为技术人员的严谨,程序猿你也肯定干不长!
53 楼 所谓码农 2012-12-14 16:16
所谓码农 写道
半人马 写道
kidneyball 写道
xuanziday 写道
如果你学的第一门语言,你会觉得其他语言很2很垃圾。
每个语言都有存在的意义,对你而言只是用与不用而已,何必在这里愤愤不平?

现在这里的人怎么都这么浮躁,出口就是刀子,争赢了输了跟你有关系吗


其实看看一下讨论的过程还是挺有意思的:

反方:这9种语言太二了,没前途
正方:我就没看过比js更二的,js没被替代就是因为历史原因
反方2:你能举出js要被替代的地方吗
正方:(列举一堆js令其不爽的地方)
反方:这都是语言特性,你连这都不懂就别出来混了
乱入:其实历史原因不是问题,利益角逐才是问题
乱入反方: 利益角逐不是问题,历史原因才是问题
反方:我再强调一下,我说的不是js不二,而是这9种语言更二
正方:那你说这9种语言二在哪里?
反方:我就不说,你奈我何?
乱入:怎么又吵起来了
乱入2:存在就是道理,都别吵了
乱入3: 吵架的人比这10种语言更二
...


反方2:我建议你接受我的2,因为我就是这样的!

你除了会喷还会干啥?你也就只能把你不擅长的东西当成2,十足的loser。

若要辩论,1234..一点一点列出来,否则闭上你的x嘴。 typeof(x) == 'beast'
52 楼 所谓码农 2012-12-14 16:10
半人马 写道
kidneyball 写道
xuanziday 写道
如果你学的第一门语言,你会觉得其他语言很2很垃圾。
每个语言都有存在的意义,对你而言只是用与不用而已,何必在这里愤愤不平?

现在这里的人怎么都这么浮躁,出口就是刀子,争赢了输了跟你有关系吗


其实看看一下讨论的过程还是挺有意思的:

反方:这9种语言太二了,没前途
正方:我就没看过比js更二的,js没被替代就是因为历史原因
反方2:你能举出js要被替代的地方吗
正方:(列举一堆js令其不爽的地方)
反方:这都是语言特性,你连这都不懂就别出来混了
乱入:其实历史原因不是问题,利益角逐才是问题
乱入反方: 利益角逐不是问题,历史原因才是问题
反方:我再强调一下,我说的不是js不二,而是这9种语言更二
正方:那你说这9种语言二在哪里?
反方:我就不说,你奈我何?
乱入:怎么又吵起来了
乱入2:存在就是道理,都别吵了
乱入3: 吵架的人比这10种语言更二
...


反方2:我建议你接受我的2,因为我就是这样的!

你除了会喷还会干啥?你也就只能把你不擅长的东西当成2,十足的loser。
51 楼 半人马 2012-12-14 15:57
kidneyball 写道
xuanziday 写道
如果你学的第一门语言,你会觉得其他语言很2很垃圾。
每个语言都有存在的意义,对你而言只是用与不用而已,何必在这里愤愤不平?

现在这里的人怎么都这么浮躁,出口就是刀子,争赢了输了跟你有关系吗


其实看看一下讨论的过程还是挺有意思的:

反方:这9种语言太二了,没前途
正方:我就没看过比js更二的,js没被替代就是因为历史原因
反方2:你能举出js要被替代的地方吗
正方:(列举一堆js令其不爽的地方)
反方:这都是语言特性,你连这都不懂就别出来混了
乱入:其实历史原因不是问题,利益角逐才是问题
乱入反方: 利益角逐不是问题,历史原因才是问题
反方:我再强调一下,我说的不是js不二,而是这9种语言更二
正方:那你说这9种语言二在哪里?
反方:我就不说,你奈我何?
乱入:怎么又吵起来了
乱入2:存在就是道理,都别吵了
乱入3: 吵架的人比这10种语言更二
...


反方2:我建议你接受我的2,因为我就是这样的!
50 楼 所谓码农 2012-12-14 15:39
半人马 写道
所谓码农 写道
半人马 写道
damoqiongqiu 写道
非常可惜,列举的9款语言都非常二,别说替代,抢份额都抢不到。

无知者无畏。javascript无法被替代的唯一原因是历史原因。要想找到比javascript更二的语言真的不容易。

我只想说,你真的会javascript吗?你觉得哪些地方需要被替代?


1. 语言层面缺乏namespace. 别跟我说有n多的库都能解决这个问题,javascript二就二在别的语言的库都在做实事,js的库一大部分在弥补语言缺陷。
2. 万恶的type coerce:  
1 == “1” => true

3. 弱智的判等
   
    {} == {} //false
    ['a', 'b'] == ['a', 'b'] // false
    

    要基于值判等?可以,为每一个类型写一套基于值的deep equality test
4. 乱七八糟的继承机制
    prototype和constructor指来指去,成员一会要放在constructor里,一会要放在prototype里,最后人们终于忍受不了了,搞出来一个Object.create
5. 恶心的scoping,跑跑这段代码:
   
   var arr = [1,2,3];
   var out = [];
   for(var i = 0; i<arr.length;i++) {
      var item = arr[i];
      out.push(function(){ alert(item); });
   }
   out.forEach(function(func){ func(); });

6. hoisting
引用一下肾球(真是好名字)的例子
a = 0;
(function foo() {
   a = 3;
   var a;
})();
alert(a);

7. ;不是必需的,但不写经常会有意外的结果, 为了避免潜在的bug,经常需要写丑陋的 ;function(){...} 

你非要用oo的思想来理解javascript,不以javascript的思想来写js,而把那些当成js的不足,那我就没什么好说的了。
1.为什么需要namespace?像java或者C#那样?C也没有namespace,没见你喷C?javascript不能很好的解决命名冲突的问题吗?你有见过jQuery和别的库冲突吗?
2.请用===操作符替代。
3.只能告诉你,它确实是这样的,而且不止是js是这样。
4.javascript本身就是基于原型的,你非要搞个继承,就像一个好好的男人你非要去做伪娘。
5.这只是一个陷阱,它并不把for当成一个context,非要这样用的话改成这样:
var arr = [1,2,3]; 
var out = []; 
for(var i = 0; i<arr.length;i++) {
(function(){
   var item = arr[i]; 
   out.push(function(){ alert(item); }); 
})();

out.forEach(function(func){ func(); });
6.我建议你接受它,因为它确实是这样的。
7.你完全可以全加上分号,这种问题一般是在压缩之后才会产生,换行符被删掉了,找不到终结符怎么做语法解析。不喜欢你可以使用严格模式(Strict Mode),强制你写;号.
49 楼 kimmking 2012-12-14 15:16
kidneyball 写道
xuanziday 写道
如果你学的第一门语言,你会觉得其他语言很2很垃圾。
每个语言都有存在的意义,对你而言只是用与不用而已,何必在这里愤愤不平?

现在这里的人怎么都这么浮躁,出口就是刀子,争赢了输了跟你有关系吗


其实看看一下讨论的过程还是挺有意思的:

反方:这9种语言太二了,没前途
正方:我就没看过比js更二的,js没被替代就是因为历史原因
反方2:你能举出js要被替代的地方吗
正方:(列举一堆js令其不爽的地方)
反方:这都是语言特性,你连这都不懂就别出来混了
乱入:其实历史原因不是问题,利益角逐才是问题
乱入反方: 利益角逐不是问题,历史原因才是问题
反方:我再强调一下,我说的不是js不二,而是这9种语言更二
正方:那你说这9种语言二在哪里?
反方:我就不说,你奈我何?
乱入:怎么又吵起来了
乱入2:存在就是道理,都别吵了
乱入3: 吵架的人比这10种语言更二
...

继续关注


精简脱水版。
48 楼 kidneyball 2012-12-14 13:47
xuanziday 写道
如果你学的第一门语言,你会觉得其他语言很2很垃圾。
每个语言都有存在的意义,对你而言只是用与不用而已,何必在这里愤愤不平?

现在这里的人怎么都这么浮躁,出口就是刀子,争赢了输了跟你有关系吗


其实看看一下讨论的过程还是挺有意思的:

反方:这9种语言太二了,没前途
正方:我就没看过比js更二的,js没被替代就是因为历史原因
反方2:你能举出js要被替代的地方吗
正方:(列举一堆js令其不爽的地方)
反方:这都是语言特性,你连这都不懂就别出来混了
乱入:其实历史原因不是问题,利益角逐才是问题
乱入反方: 利益角逐不是问题,历史原因才是问题
反方:我再强调一下,我说的不是js不二,而是这9种语言更二
正方:那你说这9种语言二在哪里?
反方:我就不说,你奈我何?
乱入:怎么又吵起来了
乱入2:存在就是道理,都别吵了
乱入3: 吵架的人比这10种语言更二
...

继续关注

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • FreshWDL:FreshWDL是WDL的纯JavaScript替代品

    FreshWDL是WDL(在Flash上​​运行)的轻量级纯JavaScript替代方案。 这使用户几乎可以从任何设备和平台访问它。 目前,它仍然很简单,几乎没有可定制性,但是只要有兴趣和支持,它就能走很长一段路! 请通过以下...

  • js_password_w_asterisks:简单的 Javascript 替代品

    js_password_w_asterisks 简单的 Javascript 替代 &lt;input type="password" ...

  • stylekit:JavaScript替代品,用于使用XML和XSL创建动态文档

    样式包 使用XML和XSL创建动态文档。 由创建和维护。 该项目当前正在。 有关如何使用样式套件的更多信息,请参见LogicPull。 配置 Stylkit带有一个配置文件config.js 。 这可用于设置Apache FOP可执行文件的位置,...

  • Pure.Lettering.js:Lettering.js 的纯 Javascript 替代品

    Pure.Lettering.js 为什么要做这个? 我是忠实粉丝,而且我已经有一段时间了。 排版是 Web 中非常被低估的部分,但只有一个问题:jQuery。 你看,关于 Lettering.js 的事情是它实际上并没有做那么多,那么为什么要...

  • Dumbdown – Markdown的替代品-JavaScript开发

    降价的愚蠢替代品。 标题的关键字是标题。 Dumbdown-Markdown的替代选项首先是示例标题,这是Dumbdown。 标题的关键字是标题。 字幕Dumbdown编译为html。 Dumbdown段落是Markdown的替代方法。 段落空行变成 链接...

  • 7月十大Java故事:5种JavaScript替代品,OpenJDK Mobile回来了等等

    1.前端开发JavaScript的5种替代方法 我们七月份最受欢迎的文章是Matthew Davis对那些不想使用JavaScript的人的五个替代选择。 这是一种很难避免的语言,但是在他的来宾帖子中,他通过5种不同的方法与我们交谈来...

  • Heroku和Netlify替代-JavaScript开发

    Heroku&Netlify替代品警告:它仍处于beta版,但我想尽快将其发布,而无需过多考虑所有内容-大部分情况下都是如此。 probably它可能到处都是bug,意大利面条代码等,请忽略它们! 关于...

  • readonly-date:JavaScript的Date类型的不变替代品

    只读日期 JavaScript的Date类型的不变替代品 执照 该存储库根据Apache License 2.0获得许可(请参阅“注意”和“许可”)。

  • squery:另一个jQuery替代品

    squery 另一个jQuery“替换” squery基于令人敬畏的并带来以下扩展: .off支持。 即使没有听众。 .on和.off支持多个空格分隔的事件名称。 当仅匹配一个元素时, $('a')返回一个Node ,否则返回NodeList 。...

  • Sucrase:超快速的 Babel 替代品-javascript

    Sucrase:超快速的 Babel 替代品 Sucrase 尝试一下 Sucrase 是 Babel 的替代品,可以实现超快速的开发构建。 Sucrase 没有编译大量的 JS 功能以使其能够在 Internet Explorer 中工作,而是假设您正在使用最新的...

  • PureDom:基于纯 Javascript 的 HTML Builder 库作为模板的替代品

    PureDom 是一种高效的 HTML 构建器和 DOM 转换器,针对最新的浏览器引擎进行了优化,但主要针对与 Node JS 和 MVC 框架一起使用,作为 HTML 模板的替代品。 它旨在将模型数据转换为语义 HTML。 PureDom 不关心遗留...

  • MDEditor:一个可替换JavaScript textarea替代品,用于编写美观且易于理解的markdown

    MDEditor-Markdown编辑器插入式JavaScript textarea替代品,用于编写美观且易于理解的markdown。 WYSIWYG式编辑器允许用户使用工具栏按钮和快捷方式修改markdown。 产生HTML的所见即所得(WYSIWYG)编辑器通常很复杂...

  • sensei:https的替代品

    Sensei 旨在替代 ,使用更简单和更新的堆栈。 它在功能方面并不符合标准,但已准备好进行试驾。 安装 使用发布的 Docker 镜像 :spouting_whale: 使用docker image pull zenika/sensei 创建别名sensei alias ...

  • shrinkray:Electron的轻量级替代品,可使用Javascript制作macOS应用

    由于仅支持macOS(目前),因此是Electron的轻量级替代品。 特征 用于将静态网站转换为macOS应用程序的CLI。 微小的应用程序大小(macOS:&lt;100K&gt;/html -o example.app 示例应用 Draw.io (单击缩略图可下载应用...

  • graphlibrary:现成的dagregraphlib替代品

    图书馆 Graphlibrary是一个JavaScript库,它提供无向和有向多图的数据结构... 它被设计为dagrejs / graphlib的现成替代品。 要了解更多 。执照Graphlibrary是根据MIT许可条款获得许可的。 有关详细信息,请参见文件。

  • sox:SOX的开源替代品

    硫氧化物SOX的开源替代品

  • 掌声:人性化的替代品

    掌声 :clapping_hands: 模式替换器,有助于创建人性化的替换。 试试,在这里您可以测试掌声的每个选项。 安装 首先,请确保您已安装最新版本的 (在此步骤之后,您可能需要重新启动计算机)。...

  • Slack开源替代品RocketChat

    Rocket.Chat 是特性最丰富的 Slack 开源替代品之一。 主要功能:群组聊天,直接通信,私聊群,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频 聊天,截图等等。

  • cordova-medivac:cordova-mobile-spec 的简化替代品

    科尔多瓦医疗运输机 描述 这是cordova-mobile-spec的简化替代品。 跑步 要在平台PLATFORM上创建测试应用程序,请运行: cordova-medivac/drop.js --PLATFORM --all

  • 级联H桥SVG无功补偿系统在不平衡电网中的三层控制策略:电压电流双闭环PI控制、相间与相内电压均衡管理,级联H桥SVG无功补偿系统在不平衡电网中的三层控制策略:电压电流双闭环PI控制、相间与相内电压均

    级联H桥SVG无功补偿系统在不平衡电网中的三层控制策略:电压电流双闭环PI控制、相间与相内电压均衡管理,级联H桥SVG无功补偿系统在不平衡电网中的三层控制策略:电压电流双闭环PI控制、相间与相内电压均衡管理,不平衡电网下的svg无功补偿,级联H桥svg无功补偿statcom,采用三层控制策略。 (1)第一层采用电压电流双闭环pi控制,电压电流正负序分离,电压外环通过产生基波正序有功电流三相所有H桥模块直流侧平均电压恒定,电流内环采用前馈解耦控制; (2)第二层相间电压均衡控制,注入零序电压,控制通过注入零序电压维持相间电压平衡; (3)第三层相内电压均衡控制,使其所有子模块吸收的有功功率与其损耗补,从而保证所有H桥子模块直流侧电压值等于给定值。 有参考资料。 639,核心关键词: 1. 不平衡电网下的SVG无功补偿 2. 级联H桥SVG无功补偿STATCOM 3. 三层控制策略 4. 电压电流双闭环PI控制 5. 电压电流正负序分离 6. 直流侧平均电压恒定 7. 前馈解耦控制 8. 相间电压均衡控制 9. 零序电压注入 10. 相内电压均衡控制 以上十个关键词用分号分隔的格式为:不

Global site tag (gtag.js) - Google Analytics