2011網頁開發熱門技術 - Node.js

談到網頁的開發技術,許多人的印象中不外乎便是PHP、Java或是.Net等等,而比較新興的技術則可能是Ruby或是Python,在本系列文章中,我將介紹在近日中熱門的網路技術,讓各位讀者能夠掌握最新趨勢。
評論
評論

談到網頁的開發技術,許多人的印象中不外乎便是 PHP、Java 或是.Net 等等,而比較新興的技術則可能是 Ruby 或是 Python,在本系列文章中,我將介紹在近日中熱門的網路技術,讓各位讀者能夠掌握最新趨勢。

Node.js

Node.js 絕對是這一年最火熱的名詞了,若是你像 Insiders 一樣關注 Hacker News 等國外媒體的話,你一定會看到 Node.js 的相關討論。

Node.js 顧名思義便是使用 JavaScript 語言作為基礎的框架,特別的是,相對於 jQuery 或是 YUI 等在瀏覽器中運行使用的 JavaScript 框架,Node.js 是作為網站程式的後端框架,就如同 PHP 或是 Java 一般開發網站。

換句話說,JavaScript 不只可以跑在瀏覽器中,還可以當做網站的伺服器!這個想法是非常的新鮮有趣,主要的原因是在於隨著 Gmail 等 AJAX 網站以及技術的興起,許多的程式開發者紛紛投入心力鑽研 JavaScript,並且有許多開發心得、優化技巧陸續被發掘,加上瀏覽器之間的競爭越來越激烈,JavaScript 的執行效能持續性的突破,因此最終便誕生了 Node.js。

簡單的範例

Node.js 在官網上便提供了一個簡單的 Helo World 範例,如下:

var http = require('http');  http.createServer(function (request, response) {     response.writeHead(200, {'Content-Type': 'text/plain'});     response.end('Hello World\n'); }).listen(8000);  console.log('Server running at http://127.0.0.1:8000/');

或許各位有注意到了,其整支網站程式架構便是在一個簡單的 JavaScript 當中,並且提供了很好的自定彈性。

除了作為 HTTP Server 之外,Node.js 也可以提供作為一般 TCP Server 使用。

實際的應用

雖然仍然是相對較新的技術,但截至目前為止,Node.js 已經有一些實際的應用範例可以參考了。

Inside 前幾天與 Plurk 亞太區總監的對談 中,便提到了 Plurk 使用了 Comet 技術來讓訊息的更新可以達到近乎即時的效果,其背後的技術便是透過 Node.js(不過後來似乎又換回 Java?)。

在他們開發者 Amir 的部落格中,便有 Node.js 和 Comet server 的技術經驗分享 投影片、以及簡單的程式碼範例可以下載,而其在台北的 TOSSUG 聚會中的 演講影片也可以在 YouTube 上觀看

另外值得一提的是,HP 的平板電腦和智慧型手機作業系統 WebOS,也 內建了 Node.js 作為開發的環境 之一。

在 GitHub 上的專案 Wiki 頁面中也有 相關開放原始碼專案和使用 Node.js 的公司列 表,有興趣的讀者可以參考。

具體的優點

整體而言,Node.js 具有幾個相當有吸引力的特點:

JavaScript

無論你先前曾經是 PHP、Ruby 或是 Python 的開發者,多少對於 JavaScript 都會具有一些基本的概念。因此要上手 Node.js 可以算是相對的迅速很多。

優秀的效能表現

Node.js 是建築在 Google Chrome 所開放原始碼的 V8 JavaScript 引擎上,是目前最快速的 JavaScript 處理引擎之一,以 non-blocking 的概念作為基礎(與 Nginx 雷同),提供相對於一般網頁伺服器(像是 Apache)更快速的 request 處理效能。

強大的社群支援

更吸引人的一點,則不外乎其強大的社群支援了!如同先前提到的,目前國外最炙手可熱的技術便是 Node.js,上網搜尋隨時都可以找到許多文章,而在問答網站像是 StackOverflow 上也有許多熱心的網友願意替大家解決相關問題。

而其套件管理系統 npm 中也擁有了上千個套件可以提供開發者們使用,且這個數字正在持續的快速增加中!

學習的資源

對 Node.js 產生興趣了嘛?下面是一些不錯的學習資源可以提供參考:

結論

Node.js 在國外的 hackers 中可謂炙手可熱,而國內也逐漸有愈來月多的開發者持續關注當中。雖然實際應用鮮少有機會可以全部透過 Node.js 來開發,但針對一些需要即時性的,像是聊天室或者是 news feeds 等便可以考慮透過 Node.js 作為解決方案。

你有關於 Node.js 的相關經驗可以與我們分享嘛?歡迎留言或者是來信!


不限車款、車齡都能升級?《車管+懶人包》輕鬆加入「手機車鑰匙」的行列

笠眾實業(IVTES)開發的「車管+」系統安裝與使用教學,升級手機車鑰匙的方法,全都整理在這裡了。
評論
評論

不限車款或年份的「車管+」手機車鑰匙,近期引起許多車主的興趣。畢竟不用花大錢換名牌車,就能夠輕鬆入門享有智慧便捷的 iKey,確實是相對無負擔的高 CP 值選擇。那麼使用「車管+」手機車鑰匙是否會要大幅度改車,其實也不必。這款由笠眾實業(IVTES)開發的「車管+」系統,只需要改裝一支「原廠車鑰匙」,並在車上安裝主機、手機下載「車管+1號」App,就可擁有一系列手機車鑰匙的智慧應用。

安裝簡易:可請一般汽修保養廠代勞或自行 DIY,下載 App 萬事俱足

從官網線上訂購並收到「車管+」的主機套組後,首先第一步就是改裝遙控器,再安裝車內主機,日後即可透過手機作為汽車門鎖的備份鑰匙。其實安裝產品並不難,車主可以選擇:

  1. 如果自己對從遙控器中取出電路板與電路焊接作業有信心,可以直接自行 DIY,笠眾會隨產品提供簡易量測工具與說明手冊,若車主對汽車電系了解也能自行安裝主機與收納。
  2. 可寄送遙控器請笠眾公司代為改裝隨產品回寄後,車主再請汽車保修廠安裝主機與收納。
  3. 現場安裝地點位於新北市中和,需與笠眾公司預約安裝時段。

遙控器改裝、車內主機安裝的作業原理可以參考上圖。特別要注意的是,「手機車鑰匙」僅作為汽車門鎖控制,並非日後用手機就能直接啟動汽車引擎。如果是「一鍵啟動」的車款,與車主的手機藍牙配對連線時即會對車內改裝電路板供應 3V 電源,所以可以直接啟動汽車;若為「插鑰匙啟動」車款,一樣要插入五金鑰匙啟動才能發動引擎,建議車內可預先放置五金鑰匙。

常用功能指南:共享車機 vs 虛擬鑰匙

除了上圖直接以 App 介面為例說明常用功能之外,入門使用者較容易混淆的通常是「共享車機」和「虛擬鑰匙」這兩種功能。其實這兩者的分別很簡單,可以參考下表一目瞭然:

簡單來說,如果是長期要一起共享汽車的親朋好友或是公務用車,建議使用「共享車機」,用車時藍牙會自動傳輸資料,便於車主或公務車人員管理,掌握汽車動向;如果是單次臨時用車,則建議使用「虛擬鑰匙」,用車者會拿到一組有時效性的虛擬鑰匙連結,可作為短期用車使用,不必大費周章面交實體鑰匙,就能共享用車。

使用者常見Q&A

使用者常見 Q&A 整理如上圖。人手一機、手機不離身的時代,升級為「車管+」的手機車鑰匙,利用手機藍牙自動感應功能,就能自動上解/鎖,解決過往要開車時才發現忘記拿鑰匙、下車後又忘記鎖車的問題。如果不小心被反鎖在車外,連自己的手機也被鎖在車內時,也可以借用他人的手機下載 App,登入帳號即可以解鎖。

另外,日後如果賣車或換新車,有需要的話也可以恢復成原本的車鑰匙;而且產品拆卸簡易,要移機至新車繼續使用也是沒問題的。想要體驗手機車鑰匙的新潮與便利嗎?不限車款、車齡都能輕鬆入門!

立即安裝車管+