Imba:一個新的Web開發語言

jopen 9年前發布 | 9K 次閱讀 Imba

 

學習程序語言是每個程序員的必經之路。可是這個世界上有太多的程序語言,在來不及反應的時候,最近又出現了一門新的編程語言— Imba 。本文針對它的一些新特征,做一個簡單的介紹。

Imba是一種新的Web編程語言,用它編寫的代碼可以編譯成高性能和可讀的JavaScript。根據其官網中的介紹,它在語言層次上支持對DOM節點的定義、擴展、繼承、實例化和渲染。在一些較復雜的應用程序中,例如 TodoMVC ,通過使用更少的代碼和一個更小的庫, 其速度超過React20倍以上 。在Imba的官網上,列舉了它的幾個突出特點。

var number = 42
var opposite = true
var string = "the answer is {number}"
var regex = /answer is (\d+)/
# Functions:
var square = do |x| x * x
# Arrays:
var list = [1, 2, 3, 4, 5]
# Objects:
var math =
  square: square
  cube: do |x| x * math.square(x)
  rand: do Math.random
# Array comprehensions:
var cubes = (math.cube num for num in list)
# Implicit calling:
math.rand.toFixed 2

高的可讀性

Imba設計的初衷之一是讓編譯后的代碼盡可能地易讀。所有縮進和評論都被予以保留。他們讓編譯后的代碼更加易于理解和人性化,正如Imba官網所形容,“Everything is an expression!”。

高的兼容性

Imba官網表示,用戶可以在Imba與JavaScript自由切換,絕對可以使用Imba開始編寫一個項目(或部分),再后來決定繼續用編譯的JavaScript來代替。

類與作用域

就像JavaScript一樣,Imba具有清晰的變量聲明。這可以讓用戶細粒度地控制變量可以訪問的作用域。在Sublime Text插件中變量被著色。在這方面,Imba也提供了一些比較簡單的例子,例如 Scoping.imba 。通過將鼠標停在一個局部變量上,可以查看該變量的所有引用。

標簽

Imba對標簽的支持,是其最大的特色之一。關于標簽使用的介紹文檔現在正在完成中。在那之前,用戶可以在一些例子中看到標簽的使用,例如 ScrollerTodoMVC

循環/推導式

Imba中的循環類似于CoffeeScript和Python中的數組推導式(Array Comprehension)。它們是表達式,并且可以返回和分配值。作為表達式的循環始終返回一個數組(如Array#map),但也有一些額外的強大功能,如Break / Continue(帶或不帶參數)。

對于一門新的編程語言,Imba引起了用戶廣泛的興趣,在Hacker News上,已經有很多用戶展開了廣泛 討論 ,有用戶將Imba與其他的語言(如React)進行了簡單比較,覺得Imba有一個很棒的編程框架,而且運行很快,總體上是一門非常cool的編程語言。如果想與其他用戶討論對Imba的認識和體驗,不妨加入他們。

對于Imba具體的性能,可能還需要讀者親身體驗。最后附上 安裝 鏈接。有關安裝和編輯器集成的詳細信息,可以參閱 install.imba 。可以從GitHub上的實例 hello-world 開始。同時如果有任何問題或意見,讀者還可以在 GitHub 上留言。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!