像原生應用程式一樣的 WebApp?趕快學起來!

經常收看謀智台客的讀者可能已經看過怎麼開發一個 (Firefox) WebApp,或是可在 MDN 上找到相關開發資訊。 簡而言之,Mozilla 提出的開放 WebApp 標準草案,允許把使用網頁技術製作的網頁做成 App 來使用。提供的方式除了 App 使用者所習慣的 App Store 模式(如 Firefox Marketplace),即使用者到固定的應用商店下載整包封裝好的 App.....深入了解

女媧,在 FxOS 裡捏 process

在 Firefox OS 中,有一個類似 Android Zygote 的 process,利用 [crayon-5a10f2d87a1e5190422055-i/]  複製出應用程序並在這些應用程序間透過 copy-on-write 共享記憶體分頁。這麼做有助於降低記憶體用量和更快速的啟動應用程式。她的名字叫 Nuwa – 女媧 [1][2]。 不過,[crayon-5a10f2d87a1.....深入了解

平價智慧手機大解密-Firefox OS 記憶體管理與優化

先前 Alan 跟大家介紹過“凡走過必留下痕跡 – 如何獲得 memory allocation 的 footprint”,教大家如何生成 memory footpoint 來找出 memory leak 和減少記憶體使用量。今天,我要介紹的是 Firefox OS 如何在有限的記憶體下管理記憶體資源,並針對其進行優化。 在 Firefox OS 上,如何獲得更多的記憶體資源? 在 Firef.....深入了解

使用不同的檔案系統,Firefox OS 主程式沒跑起來!

前陣子收到一隻手機,需要把 Firefox OS porting 上去。剛好之前有看過這幾篇文章 B2G Porting, 三步驟 build 好 Firefox OS及透過 AOSP build system 來 build Firefox OS,不然還真不知道從那裡開始。先費了一翻功夫把 manifest 弄出來,再經過一陣苦戰之後 system.img 總算也編出來了。既然 system.i.....深入了解

淺談 Cycle Collection

什麼是 Cycle Collection ? Gecko 專案中,常常會使用 smart pointer 來管理動態配置的記憶體的釋放。當記憶體的 reference count 為零時,就判定為不會再被使用。然而如果物件互相持有,形成了 reference cycle,也就是謀智台客這篇「說說 nsCOMPtr 這東西」提到的環狀參照,就會造成每個物件的 reference count 都無法.....深入了解

Address-Sanitizer(ASAN): 一個 C/C++ 記憶體偵錯的工具

LLVM 有一系列以 Sanitizer 結尾的偵錯工具(ASAN/TSAN/MSAN/DFSAN/LSAN)[1],每個工具各司其職,在此我們介紹其中的 ASAN[2]。 Memory Corruption 一直是個非常難除錯非常讓人苦惱的問題, ASAN 正是一個幫助大家處理這樣問題的工具, ASAN 內建於 LLVM 3.1 和 gcc 4.8[3],其可偵測出以下的問題: U.....深入了解

Mozilla UX Team大解密

在 Mozilla 眾多的團隊中,有一個神秘的 UX Team ,很多人都很好奇到底這些人在做什麼? 整天都在會議室嘻嘻哈哈的討論工作,感覺很快樂。今天就來為大家解密,介紹一下 Mozilla 的 UX Team 。 首先,先跟大家解釋一下什麼是 UX : UX(User Experience)就字面上來翻,就是使用者經驗,或是有些人會用一個更好的說法:使用者體驗。設計師根據使用者設計一項產品.....深入了解

再探 Inter-App Communication (IAC)

先前 EragonJ 跟大家介紹過 Inter App Communication 的使用情境以及使用範例程式碼,本篇將繼續討論 Inter-App Communcation(文章後面將縮寫為 IAC )其他較少為人知的面向。 雙向通訊連線 使用 IAC 建立連線的程式碼通常如下: [crayon-5a10f2d87d5f3241437204/] 但其實 IAC 建立出來的連線是雙向連線,.....深入了解

淺談 Mobile Message – SMS 與 MMS 於 Firefox OS 之實作

在人手一支智慧型手機的時代加上 3G /4G 行動通訊快速的發展,已出現越來越多樣性的即時通訊軟體,例如:Line、WhatsApp 等等。但提到手機內建最老字號的通訊服務,當然是從 2G/2.5 G 時代就已經存在至今的 SMS(簡訊服務)與 MMS(多媒體訊息服務)。只需要對方電話號碼,不論您與對方身處國內外,都能提供使用者即時且圖文並茂的訊息服務。今天的主題要帶著大家一起來了解這兩項服務在 .....深入了解

我也想成為 mozillian! Part 2 – 你也來Try Try 看

這篇文章針對 part 1 的 Step 5 中的 Try Server 作進一步的說明。 測試是軟體開發中一個重要的步驟,用來確保軟體正確性、完整性、安全性和品質的過程。測試又分手動測試跟自動測試。在 Mozilla Gecko 這樣的大型軟體專案中,自動測試尤其重要。因為在大型軟體專案中,每個check in 的 code,都可能牽一髮動全身。在人力有限的情況下,我們希望能多多利用自動測.....深入了解