一個打十個 – 讓 Gaia 網頁應用(webapp)支援多重設備(一:像素密度)

使用網頁技術開發應用的好處,是讓使用者不管在什麼設備上,只要有瀏覽器支援,基本上都能使用自己習慣的服務。同時若有需要,也可以較容易地透過 Apache Cordova 等技術,將網頁應用封裝成不同平台的原生應用。在多種手持設備作業系統並存的今日,開發者也能在同一個(廣闊的)技術領域累積自己的技術能力,以應對越來越複雜的挑戰。 因為我相信以上的想法,所以今年初因緣際會進入了 Mozil.....深入了解

網頁自動測試的好朋友 – WebElement Locators

二十餘年前,網站慢慢開始出現在世界各地,起初就像盤古開天闢地一般,沒有複雜的東西,網站都相當簡易,大多以文字和些許的圖片構成,連頁面也沒有太多。經過好一陣子的發展,慢慢有了比較複雜的結構,那時候人寫網頁的邏輯慢慢的會受到干擾,因而有時候會出現一些錯誤。到了最近幾年,網站已經不再是 Frontpage (Sharepoint) 或 Dreamweaver 這種軟體就可以滿足的了,我們開始使用不同.....深入了解

ECMAScript 6 Features in Firefox

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

起床囉!我的手機寶貝!– Alarm API 的使用與介紹

功能簡介 Alarm API 最初是為了 FireFox OS (FFOS) 所特別開發的一種 Web API,可以在預定時間自動喚醒系統去執行特定作業;這種功能可以套用在許多實際的應用上,最容易聯想到的功能就是 Alarm Clock 的應用,有了這個 API 我們就可以要求 FFOS 在某個時間點,讓裝置自動產生振動或是鬧鈴來通知使用者,藉此實現一個 Alarm Clock Applicat.....深入了解

和 Firefox OS 介面的第一次親密接觸 – 基本觸控手勢看招!

你習慣用手指在螢幕上滑來滑去,用手勢 ( gesture ) 代替你處理大小事嗎? 在現今行動裝置的世界裡,手勢 ( gesture ) 儼然成為與裝置溝通的最主要管道。無須其他的輸入設備,動動手指就可輕易將手中的手機或平板操控自如。不管是 Android 、iOS 甚至 Windows 都有針對手勢操控,提供了完整的 library 供開發者使用。至於在標準 HTML 前端架構的 Fire.....深入了解

你丟我撿!神奇的 Firefox 內部記憶體回收機制

大家都知道 JavaScript 是一個很方便的語言,想要一個新物件? 沒問題,new 一下就有了。需要一個陣列來做暫存空間? 也是交給 new。不像其他,比如說 C,等較低階的語言,JavaScript 的使用者絕大多數時候都不必煩惱實際上資料被放到什麼地方,也不需擔心用完了卻忘記要交還給系統而造成記憶體漏洞。在這麼方便的語言特性背後,其實有一套相當複雜的機制在運作,將我們從瑣碎的記憶體管理中解.....深入了解

缺它不可!靈活運用 Firefox OS Gaia 的單元測試

單元測試一直以來都是確保軟體品質的一種方式,在日益錯綜複雜的軟體中更是重要。Firefox OS 的應用層 Gaia 理所當然的也由單元測試來確保軟體品質。設置妥當後,當你打開任意編輯器對 Javascript 檔案編輯,並且按下『Save』的那一刻,unit test agent 就會默默的被喚起,針對您的修改一項項的進行檢測。當所有測試項目都妥當的通過之後,您將會看到一個優雅的圖示跳出來,告知.....深入了解

三步驟學會 Persona!!

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

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

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

Web activity 讓網頁應用程式能溝通的新技術

Web activity 是由 Mozilla 設計並開發,用來使 web app 之間共享資源的框架。在 Firefox OS 中已經存在 Platform/UI 上的實作,並且有一些內建的主要 Web app 已經利用 Web activity 來達成跨應用程式溝通的目的。(如:Gallery 使用它來讓其他程式從它挑選圖片,也用同一技術來實現圖片分享到不同應用) 請求者 (Requeste.....深入了解