Select your Selector – 設計 Firefox OS 選項選單的奧妙

在開發網頁程式時,當我們想要提供一個選單,可以讓使用者能在選單中選取他們想要的選項,基本上會非常直覺地想到 <select> 標籤。相同的,當我們在 Firefox OS 上開發 APP 有類似的需求時,也會直覺地想用 <select> 標籤來實作這一個功能。原有 Firefox UI control 僅適用於 Desktop 版本,所以我們必須重新實作一個適用於 Mobi.....深入了解

Hacking to boot up Firefox OS

今天我拿到了一隻新的手機,手機上運行的正是大家所熟悉 Android 系統。我的任務是將 Firefox OS 移植到這一隻新的手機上,這個工作對我來說非常有趣,因為透過 hacking 的方式可以讓我更了解 Firefox OS 這個火紅的作業系統。以下將分幾個部份來逐步地描述 hacking 的過程。 取得 Firefox OS 的環境 取得Firefox OS 的環境非常容易,.....深入了解

Gecko 的 New DOM bindings

注意:本篇討論 Gecko 內部 DOM bindings 的實作,可能會有比較多的程式碼。 目前網頁的通用語言是 JavaScript,可是主流瀏覽器大多由 C++ 開發實作,DOM bindings 就是一些處理如何從 JavaScript 引擎使用以 C++ 實作的 DOM API 的程式碼。有關 Mozilla 過往的 DOM bindings 的相關資訊,可以參考 Mozilla .....深入了解

在 Firefox OS 裡 如何使用 built-in profiler

Profiling 這個技術可以提供系統執行時的歷程,讓我們評估並找出系統效能的瓶頸。Firefox OS 目前提供了 built-in profiler, 我們可以利用 profile.sh 這個 script 來幫助我們從 device 擷取 profiling information,並且利用 cleopatra 這個工具來分析 profiling information。在我們開始使用 p.....深入了解

三步驟學會 Persona!!

香蕉人又登場了,今天要來教大家使用 Persona 囉!這是什麼? 能吃嗎?! 是新口味的香蕉嗎?! 有在發落 Mozilla Taiwan 部落格的捧油應該不陌生啦,新朋友別緊張啦~ Persona 的詳細介紹可以看 http://blog.mozilla.com.tw/posts/1061/安全可靠-persona-網路身份認證系統-beta-版首度釋出!簡單來說,Persona 是一種安全,.....深入了解

寫程式?不就打字嘛。

這段 Code 寫得好漂亮喔! 如果你從來沒寫過程式,大概會覺得工程師不只宅還是神經病。也許這跟我去看骨科,結果醫生對著我的X光片讚嘆『你有一個漂亮的脊椎』是差不多的心情(但是我絕對沒有覺得醫生很神經)。 運算結果正確,會動會跑,還不是都一樣?當然不一樣,你難道希望你的憤怒鳥丟出去,結果三分鐘後才打到豬嗎?這樣憤怒的想必會是你吧。 所以愈是簡潔有力,使用較少資源,卻能達到同樣甚至.....深入了解

小插曲

Mozilla Taiwan 的 RD 們正致力於開發 Firefox OS,在專案開發的過程中,享受著把 bug 一一吃掉的小成就,也常有出乎意料的小插曲伴隨著我們。 某天早上,我依照慣例地更新自己的 code base , build 完刷到手機上正準備來試試時,卻發現螢幕是一片黑,什麼畫面也沒有...正當我為此煩惱著不支該如何是好時,轉身問問身旁的同事們是否也有遇到相同的情況,一位同事.....深入了解

跨越語言的邊界 – 淺談 JS API 與 XPConnect

開發 Mozilla 專案主要會使用兩種程式語言:C++ 與 JavaScript。第一次接觸到這份代碼時,我心中就產生了一個疑問:C++ 是強型態、靜態編譯的語言,而 JavaScript 則是弱型態、直譯式的語言,這兩種特性截然不同的程式語言該如何溝通呢?以下讓我們來分析一下 C++ 與 JavaScript 間若要相互溝通需要打通哪些關節。 首先要解決的是基本資料型別以及命名空間的問題.....深入了解

Gonk 秘辛之編譯系統

之前的文章大都集中在 Firefox OS 運行時的討論,而今天就讓我來平衡報導一下 Firefox OS 運行前的其中一個工作好了,那就是編譯系統;首先要提到的就是 Firefox OS 利用了來自於 Android 的編譯系統,因此 Gaia 和 Gecko 就必需做適當的配置以加入到編譯系統裡。先來看看 Firefox OS 到底有哪些項目需要被加入呢?有 Gaia\ Rilproxy\ G.....深入了解

Let a wireframe be an app in the iframe

在 Firefox OS 平台上,一個 App 其實就是一個 iframe。Gaia 團隊成員 (Front-end engineer,簡稱 F2E) 會小心翼翼的檢閱著 UX 設計出來的 wireframe (示意圖),對照 Gecko Developer (以下簡稱 Dev) 提供的 API,把 App 的功能一個個實作出來,成為 Firefox OS 手機裡真實存在的一個 App。wiref.....深入了解