微信小程序推出一年多一點的時間,算是一個新事物,但是利用的技術卻都是已經存在的技術。如果你稍加調查就會發現,不光是微信小程序,很多類似形態的應用都采用類似的架構:
使用 JSON 技術來表現應用的配置信息。包含應用的基本信息,頁面配置和路由,應用全體的信息等。
使用經過定制 CSS+XML 技術來實現視圖層的描述。畫面元素,例如列表、按鈕、文本框、選擇框等都通過 XML 語言來描述,遵從 XML 語法,對于頁面的共同風格,使用 CSS 進行定義。
使用 JavaScript 語言來實現邏輯層結構。包括用戶操作的處理,系統 API 的調用等。
架構在視圖層和邏輯層之間提供數據和事件傳輸功能,從而盡量減少難度。由于類似應有都屬于輕應用,所以提供的功能都比較單一。
具體的語法,用途等將會在使用的時候詳細介紹,這里只提一下相關技術的基本情況,了解即可。
換一種說法就是:并不需要另外自己調查,跟著本課程走下去就好。
JSON
JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。它基于 ECMAScript(W3C 制定的 JavaScript 規范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。
XML
XML(Extensible Markup Language),中文名為可擴展標記語言,標準通用標記語言的子集,是一種用于標記電子文件使其具有結構性的標記語言。
在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種的信息,比如文章等。它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。它非常適合萬維網傳輸,提供統一的方法來描述和交換獨立于應用程序或供應商的結構化數據。是 Internet 環境中跨平臺的、依賴于內容的技術,也是當今處理分布式結構信息的有效工具。早在1998年,W3C 就發布了 XML1.0 規范,使用它來簡化 Internet 的文檔信息傳輸。
CSS
層疊樣式表(英文全稱:Cascading Style Sheets)是一種用來表現 HTML 或 XML 等文件樣式的計算機語言。CSS 不僅可以靜態地修飾網頁,還可以配合各種腳本語言動態地對網頁各元素進行格式化。
CSS 能夠對網頁中元素位置的排版進行像素級精確控制,支持幾乎所有的字體字號樣式,擁有對網頁對象和模型樣式編輯的能力。
JavaScript
JavaScript 一種直譯式腳本語言,是一種動態類型、弱類型、基于原型的語言,內置支持類型。它的解釋器被稱為 JavaScript 引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在 HTML 網頁上使用,用來給 HTML 網頁增加動態功能。
在1995年時,由 Netscape 公司的 Brendan Eich,在網景導航者瀏覽器上首次設計實現而成。因為 Netscape 與 Sun 合作,Netscape 管理層希望它外觀看起來像 Java,因此取名為 JavaScript。但實際上它的語法風格與 Self 及 Scheme 較為接近。
為了取得技術優勢,微軟推出了 JScript,CEnvi 推出 ScriptEase,與 JavaScript 同樣可在瀏覽器上運行。為了統一規格,再加上 JavaScript 兼容于 ECMA 標準,因此也稱為 ECMAScript。