Wind.js 0.7.0版本正式發布
作者:老趙
經過周末整整兩天的努力,Wind.js 0.7.0 版本終于正式發布了!這次發布最重要的改進,便是類庫的名稱從 Jscex 修改為 Wind.js,搭建了博客,并啟用了新的網站和域名。此外,還修復了一些 Bug,添加了更多的單元測試,并吸取了一部分玉伯的建議簡化了項目的使用方式。
關于 jscex.org 域名
之前 Jscex 項目使用的是 jscex.info 作為官方網站。上周玉伯為 Jscex 提出了一些建議,提到應該盡量使用 org 域名,這是開源項目的標配。其實我也想,只可惜 jscex.org 域名已經被他人所有。不過經玉伯這么一提起,我就打算試著去買回 jscex.org 域名。我嘗試在 Sedo 上向 jscex.org 的所有者提出了購買申請。
我開價 100 美金。其實按我最初的想法,Jscex 這個名稱除了我這個項目之外,應該無人在意才對,應該不該花多少錢。沒想到的是對方很快就有所回應,要價 1000 美金。于是我逐步加到 200 美金,但對方死咬住 800 美金不松口,我只得取消交易。有趣的是,過了不久我收到對方的郵件,把價格降低到 679 美金,最后又提出了 479 美金的“超低價”。他在郵件里的說法是:
$479 This is last chance.
這頓時讓我有了一絲特別的感覺。因為對于一個英語國家的人,他一定會說“This is the last chance”,這里加上一個定冠詞“the”才顯得十分自然。之前我在微博上也提到我為 jscex.org 準備了 500 美金的預算,而此時我也已經放棄購買域名,并開始在微博上征集項目的新名字,但價格卻突然降低至我的預算范圍內。再加上那時已經是下午,但郵件回復依然十分迅速,除了說明對方與我的工作時區接近之外,似乎對方也非常想賣出這個域名。
同時,根據 Whois 上查詢的結果,這個域名直到去年 10 月才被注冊,那時候 Jscex 項目已經對外公開了相當長的時間,所以我認為這是在故意搶注想敲我一筆的可能性很大。這樣更堅定了我項目改名的決心。
可以這么認為:jscex.org 域名被搶注
新名字 Wind.js
對于新名字我始終把握不定。一開始我考慮到 Jscex 的讀音是“J-Sex”,這導致我也曾經以“性感的 JavaScript”來宣傳 Jscex 類庫,因此順水推舟改名為 SexJS 或是 SexyJS 似乎也是件挺有趣的事情。但是后來我感覺這名字似乎過于嘩眾取寵,容易引起反感,于是作罷。
由于 Jscex 是一個流程控制(Flow Control)類庫,因此我一直想圍繞 Flow 這個詞做文章。后來想到過 Flowless 這個名字,但是在注冊了 flowless.org 域名之后,卻悲催地發現 NPM 上已經有了同名的類庫。后來也考慮過 FancyFlow,Wonderflow,又從 Flow 聯想到水流和氣流,繼而注冊了 WaterJS.org,AirJS.org,AirflowJS.org 等域名,還有比較“通用”的 MagicJS.org 等等,但最終決定使用 WindJS.org 作為域名,項目名便取做 Wind.js。假如您需要以上這些域名干些正事,請隨時跟我聯系,我可以免費轉讓給您。
從 Flow 聯想到 Wind 自然不必解釋,選擇 Wind.js 的一個重要原因,便是它似乎還較為容易搜索出來。我曾經也考慮過 Air.js,但是發現已經有了 Adobe Air 這個與 JavaScript 關系相對較為緊密的東西,再取名叫做 Air.js 就會稍顯不利。而 Wind.js 除了識別度較高之外,也顯得比 Air 更有氣勢一些,四個字符看上去也長短適中。從周四晚確定了 Wind.js 到現在,我對這個名字的滿意度越來越高。
我甚至連 Logo 都已經想好了:就畫上一陣風,吹得callback
及state
這種東西團團轉吧!
Wind.js 0.7.0 版本的改進
既然項目名稱從 Jscex 修改為 Wind,因此原本的根對象名也自然從Jscex
變成了Wind
。除了改名之外,Wind.js 0.7.0 還在使用上做了部分簡化,這主要是采納了玉伯的建議。
首先,我減少了 Wind.js 中模塊的數量。JavaScript 語言缺少一個統一模塊機制,因此傳統開發過程中的“模塊化”實踐會引起使用上的不便,這是一個相當嚴重的副作用。于是在 Wind.js 0.7.0 中:
- jscex-parser 和 jscex-jit 合并為 wind-compiler 模塊,因為對用戶來說幾乎沒有獨立使用解析器模塊的需求。
- jscex-async 和 jscex-async-powerpack 合并為 wind-async 模塊,因為考慮到異步增強模塊本身也只有很小的體積,還不如并入異步模塊來換取易用性。
此外,jscex 模塊也改名為 wind-core,突出其“核心”模塊的本質。于是,原本使用 Jscex 0.6.5 異步模塊時需要引入 6 個模塊:
<script src="jscex-x.y.z.js"></script> <script src="jscex-parser-x.y.z.js"></script> <script src="jscex-jit-x.y.z.js"></script> <script src="jscex-builderbase-x.y.z.js"></script> <script src="jscex-async-x.y.z.js"></script> <script src="jscex-async-powerpack-x.y.z.js"></script>
到了 Wind.js 0.7.0 中則只需引入 4 個模塊即可:
<script src="wind-core-x.y.z.js"></script> <script src="wind-compiler-x.y.z.js"></script> <script src="wind-builderbase-x.y.z.js"></script> <script src="wind-async-x.y.z.js"></script>
而對于 Node.js 環境中,使用 Wind.js 更只需安裝一個包即可:
npm install wind
在使用時也只需require
一個包即可:
var Wind = require ("wind");
本來“模塊化”的目標,是為了在瀏覽器中有選擇性地使用模塊以減小腳本加載體積。然而,對于 Node.js 來說包的體積完全不是問題,還不如直接發布一個包含了所有模塊的大包,讓開發人員可以毫不費力地使用 Wind.js 的所有功能。
新的項目官方站點
您肯定也已經發現 Wind.js 新上線官方站點。這個站點使用 Octopress 搭建,比舊站點使用的 DocPad 強大許多。更重要的是,它自帶了一個至少在我看來十分美觀的皮膚,我將其簡單的本地化之后便可以直接用上了,甚至它還附贈一個博客系統,支持使用 Disqus 發表評論。這樣 Wind.js 便有了自己的項目博客,發布新聞或是搞各種活動便無需借助我的個人博客,一切都顯得正式了許多。
今天我一整天都在進行文案工作,重寫文檔首頁,并遷移了完整的異步模塊代碼,將之前的一大篇文檔分拆了幾個小部分,希望能夠進一步方便閱讀。
反饋
假如您在 Wind.js 使用過程中產生任何疑問或是意見建議,請加入 Wind.js 討論組參與討論,或直接發送郵件至郵件列表。對于使用過程中發現的 Bug,也可以匯報至 GitHub。