此文刊登在《程序員》2009年5月期:
SQL全名是結構化查詢語言(Structured Query Language),一直是後台開發者用來操作數據庫的語言。對於我們大部分前端開發者來說,數據庫和SQL目前看似都是遙遠和陌生的。
然而隨著Web的發展潮流,一方面Web正在成為新的應用平台,越來越多的Web App為了提高用戶體驗,紛紛推出離線功能,比如Gmail、Facebook、WordPress等等,當然他們都依賴於本地存儲方案。W3C在最新的HTML5草案中,就加入了浏覽器端本地數據存儲(Web Storage)的規范,而SQL語言就是其中的一部分,這對RIA應用有特別重大的意義。浏覽器內置數據庫,通過腳本操作客戶端的本地存儲,就可以圓滿的解決保持客戶端狀態的大難題。讓人欣喜的是,盡管浏覽器大戰狼煙四起,但是新版的主流浏覽器都不約而同的提供了對本地存儲規范的支持。
另一方面,雲計算的出現,讓OpenAPI的應用越來越廣泛。來看看Yahoo!的YQL(http://developer.yahoo.com/yql/console/), 以及Facebook的FQL(http://wiki.developers.facebook.com/index.php/FQL), 還有Google App Engine的GQL(http://code.google.com/intl/zh-CN/appengine/) ,分別是三個業界翹楚推出的基礎開放平台上的結構化數據的查詢語言,他們都用了大家熟知的SQL-Like 的語言作為自身開放平台的接口交互語言。
我想原因有以下幾點:
我們幾乎可以肯定,隨著後台程序的底層服務化,除了負責數據展現,數據的獲取和操作也會逐漸成為前端工程師的工作內容。這也意味著前端工程師的職責會越來越大。當然,我們需要掌握和了解的技能自然也要更加豐富—HTML、CSS、JAVASCRIPT、FLASH、服務端編程語言 … 而SQL正在加入到這個序列中來。
SQL語言離我們前端不遠 — 它,已經轟然在我們眼前!