還原 b2g crash 案發現場

在 Firefox OS 系統中,若 b2g process 發生 crash 時,一般來說是透過 gdb debugger 來除錯,但現實生活中並不是每次系統 crash 都有機會知道複製步驟,能夠將問題重新複製。因此事後針對 gecko crash 分析對於 platform 工程師來說是相當重要的課題。Firefox OS 支援產生 crash dump,本文將介紹將 stack backt.....深入了解

如何在使用者點擊 Notification 通知後,傳遞參數給 App?

當使用者從 Firefox OS 手機收到一封新簡訊,在點下 Notification Bar 的簡訊通知後,預載的 SMS App 就會被啟動,但你知道在此過程中,預載的 SMS App 是如何切換到正確的簡訊串列來顯示簡訊內容的呢? 首先,使用 navigator.mozNotification.createNotification 可以在 Notification Bar 中加.....深入了解

Firefox OS: Who am I? Why am I here? Where am I going?

相信不少人胡思亂想的時候,都曾問過自己這三個問題。似乎思考了這些問題後,人生就豁然開朗了。而自從參與 Firefox OS 專案以來,無論私下和朋友聊天,或在公開場合向別人介紹,總少不了面對各式各樣的疑問。讓我們以這三個基本問題為切入點,一起深入瞭解 Firefox OS 以及其背後的理念吧! Firefox OS 是什麼? Firefox OS 是一個基於 Open Web 平台開發的行.....深入了解

四週手機變平板 – 見證奇蹟的時刻

一個月前我們在 Computex 2013 發表了 Firefox OS 在平板上的預覽版,吸引了不少人的目光。(如果你還沒看過,本文最後有精華短片。) 雖然只是展示機器,但是當拿在手裡,身為工程師的我們,都會興奮的想讓它變成真的可以動的。 「那麼就來試試看吧!」我們有四週的時間。 現在就把時光倒回去,來看看我們如何用不到一個月的時間,做出可以操作的實機展示版(非成品)。 .....深入了解

伸縮自如 – Gaia 的多解析度支援

雖然 Firefox OS 以 Android 無法深入開拓的低階手機為第一波市場主打,但這可不表示 Firefox OS 只能在小螢幕上執行。目前 Firefox OS 已初步支援 HVGA (320×480)、WVGA (480×800)、qHD (540×960) 三種解析度。以 Web 技術作為使用者介面的 Firefox OS 如何實踐這些解析度的支援?讓我們來看一些在 Gaia 中實作.....深入了解

凡走過必留下痕跡 – 如何獲得 memory allocation 的 footprint

在開發軟體的過程中,難免會碰上 memory leak 或是碰上需要減少記憶體使用量的情況。碰到這種事情時,我們會需要 memory allocation 的 footprint,才能夠找出問題點。開發 Firefox 桌面版、Firefox for Android,或是 Firefox OS 的過程當然也不例外。 這三者尋找 memory allocation 的 footprint 的方.....深入了解

想學 Python/Django? 就從 Mozilla 網站專案開始吧!

(圖片來源:radiobread) 六月的時候 Askeing 大大介紹了 Python 開發好幫手 - virtualenv ,如果你剛好是 Python/Django 的新手,能照著 Askeing 的解說順利地完成 virtualenv 安裝使用,那麼這篇文章可以給你一個自己學習建立 Django 專案的起點。 為什麼要學 Python? 如果你還不知道 Python/Djan.....深入了解

快來幫忙找,IPDL 在哪裡?

截止目前為止,Mozilla 的 IPC 在我心目中依然是個仰之彌高,鑽之彌堅,瞻之在前,忽焉在後[1]的神秘技術,雖然簡單地說,它就只是 Content Process 和 Chrome Process 溝通橋樑...而已(心虛)。 有了 IPC 這座橋,接下來是讓程式設計師知道如何利用 IPC 這座橋,就如同專供定義 XPCOM/DOM 物件的 IDL/WebIDL 一樣,IPDL 便是.....深入了解

ECMAScript 6 Features in Firefox

所謂的 ECMAScript,其實就是我們日常在用的 Javascript,只是當初因為商標的問題,所以後來把這個語言的規範改叫作 ECMAScript。目前市面上的瀏覽器已經支援到 ECMAScript 5,也就是 ECMAScript 262 5th Edition了。但 ECMAScript 的下一個版本,ECMAScript 6,已經早在 2008 年就開始在討論和實作中了,並且有個 co.....深入了解

Python 開發好幫手 – virtualenv

許多開發者常會使用 schroot 去管理不同的獨立環境來符合自己的開發與編譯上的需求。 在 Python 的世界也有類似的工具 - virtualenv[1],可以讓使用 Python 的開發者方便快速的建立各自獨立的虛擬環境。在獨立的虛擬環境中開發 Python 程式,可以降低各個環境中的套件數量,也降低了不同版本套件間衝突的可能。 安裝 使用者可以透過 Python 的 e.....深入了解