淺談 W3C Sensor API的發展

感測器元件是連接實體世界和數位世界的橋樑,將物理現象轉化為電子訊號帶入軟體的次元。感測器元件的存在更是人機互動體驗的必要條件,如利用加速規(accelerometer)、陀螺儀(gyroscope)等動作感測器把手機當方向盤的 REAL RACING賽車遊戲、 利用近距感測器(proximity sensor)當伏地挺身計數器的 Runtastic Fitness、或是利用振動馬達(vibrati.....深入了解

解析 XPCOM 物件的 Reference Count

在 Gecko 的實作裡,我們大量使用 smart pointer 作為指標傳遞間的媒介,而為了能完善的操作 reference count ,我們必須保證 reference count 的增減是 thread safe 的。若無法妥善處理 reference count 的增減而產生 race condition ,會造成至少以下兩個問題: 兩條以上的 thread 同時執行了 del.....深入了解

Mozilla 開發人員的強力小幫手 – Autolander

有在關注謀智台客的朋友們,應該都知道 Firefox OS (B2G) 是由 Gaia、Gecko、Gonk 所組成。透過『我也想成為 mozillian!教你如何貢獻到 mozilla code base』我們對如何貢獻到 Gecko 的部分有了一定程度的了解,正因為 B2G 的 Gecko 是放在 Mozilla 的 hg 伺服器 (https://hg.mozilla.org),而非 Git.....深入了解

WebAPP 之影像處理

在各大平台上的 App 商店裡,影像處理相關的應用程式總是在熱門排行榜上佔有一席之地,Web Platform 當然也不落人後的提供建構影像處理 APP 的相關功能。在這篇文章裡,我們將介紹如何利用 HTML5 的 [crayon-5924ee7465024370114752-i/] API 來建構一個影像處理應用程式的架構,接著我們會介紹在 Web Platform 上有哪些工具可以用來.....深入了解

如何利用Firefox OS現有的Components打造自己的Web App

Web這幾年最夯的主題之一就是Web Components [1][3]。透過它,我們能使用其他人開發好的Widgests來提高開發效率,不過風險是目前有些瀏覽器支援並不完全或必須手動開啟支援[6],而我相信不久後所有瀏覽器就會完全支援囉[2]!   今天,小弟想跟各位簡介如何使用Firefox OS的Gaia Team所開發的gaia components [4][5],來.....深入了解

Mozilla 開源專案的守護神 – Treeherder

Treeherder 是一個彙集所有測試結果的地方,它將 CI (Continuous Integration) 的測試結果彙整起來變成一個精美的報表,好讓開發者可以直接透過網頁來查看各種測試項目的最新狀態或是錯誤訊息,甚至是幫你分析發生錯誤的測試項目是否是目前某些不穩定 Bug ( Intermittent failure ) 所引起的,然後幫你標上 Bug number。說起來 Treehe.....深入了解

看懂 XPCOM 的轉型函式

Photo credit: Who? Me? | Flickr - Photo Sharing! 在研讀 Gecko 的程式碼時,常常會看到 do_QueryInterface 與 do_GetInterface 的用法出現,另外還有一個比較少見的 do_QueryObject。這三個函式的主要用途都是對於一個物件請求另一個介面的物件。在介紹這三個函式之前,我們先介紹 QueryIn.....深入了解

XPConnect 遇到的小問題

在 XPCOM 的世界裡,透過 XPConnect 的幫忙,C 和 JavaScript 實作的元件可以互相地呼叫,因此我們可以自由選用合適的語言來開發各自的元件。 但是因為中間包了一層 wrapper,所以在某些特殊的情況下,程式的運作可能會不如你的預期:例如在 跨越語言的邊界 – 淺談 JS API 與 XPConnect 有提到,動態改變 object property 時只會改變到 wr.....深入了解

如何在 Firefox OS 上建立瀏覽器 APP

Firefox OS 上的瀏覽器 APP 利用 Gecko 提供的 Browser API 來管理網頁瀏覽,並利用 HTML5 技術提供使用者界面。根據不同的實作它可以實現分頁,瀏覽歷史,書籤... 等等功能。這篇文章示範如何建立一個可以在 Firefox OS 裝置上使用的瀏覽器 APP,它包含了最基本的網誌列跟上一頁/下一頁功能。 文章範例的原始碼可以在這裡下載: https://gi.....深入了解

Phone App 與 Callscreen 的背後功臣:Telephony API

手機產品是 Firefox OS 的重要任務之一,Phone app 與 Callscreen app 實現了撥打/接聽電話功能,背後與底層溝通的媒介 Telephony API [1] 佔了非常重要的地位,安全性的考量下,Telephony API 僅開放給 Certified app 使用,不過依然可以輕易地客製你的 Phone app,因此這篇文章將以 Firefox OS v2.1 為範例.....深入了解