Mozilla Co. 的 VP of Products Jay sullivan 來展示「Firefox OS」目前的版本, 其中桌面有個「everything.me」功能,除了可以用來裝 Web App 外, 因為 Web 的特性,所以不用像其他平台需要先安裝好再試用 App,而可以直接點選開始使用 App (Web)。 把 web 變成不需安裝、反安裝,隨查隨用的一次性 app 的概念還蠻有趣的。
下一站, Mozilla, Firefox OS
一直以來,在業餘時間裡我做了不少 Mobile App,寫了本 Android 開發書籍,參與並研究了一些 Web 框架和服務。前年開始也直接將Play!、Django等 Web 框架,和 Android 開發的經驗應用在工作上。
我相信整合 Web 與 Mobile,以雲為基礎建設,讓連網設備 / 使用者得以跨平台在各種終端使用的應用,會是接下來技術的趨勢。
在主持GTUG Taipei 活動的兩年時間裡,跟著學了很多新東西,從中我也發現,現在已經有許多企業級或跟 Mobile App 開發相關的技術,都可以歸類到 Web 技術範疇了:
- 越來越多人使用 JSON 來取代 XML
- 各種 RPC 紛紛改成使用 RESTFUL API* non-rel, 適應雲端架構的MongoDB也可直接將資料儲存成 JSON 格式
- Web Server 端可以使用 node.js 寫,透過 Event callback 形式的呼叫,可以得到很好的效能
- 可以使用PhoneGap/Cordova來封裝成各行動平台的 App
- 最近名字跟 Microsoft 連在一起的 Titanium 也可以用網頁技術生成各行動平台的 App
因此當我知道 Firefox OS 在台灣有開發團隊時, 我告訴自己:這是個可以待在台灣,同時又有可能改變世界的機會。
我很幸運,待的前公司環境與同事也非常好,可以推薦給大家。 當然,也歡迎大家來和我作伙伴。
接下來我的分享應該會多出不少 Firefox OS 相關的心得,敬請期待。
Android 側邊滑動選單效果 (Side Menu Drawer)
幾周前在 GTUG Taipei 活動,聽了 David Wu 分享的 "A Deep Dive into Android Open Source Project" 演講,回來後對 Slide Menu 效果很感興趣,也在gPaper 改版時使用到這個技巧。
後來我選擇使用的是 Simple Side Drawer 這個 Library https://github.com/adamrocker/simple-side-drawer
Simple Side Drawer 的好處是只要把它提供的 jar 檔放到專案中,就可以搭配如ActionBarSherlock等函式庫一起使用。
使用 Simple Side Drawer
使用時首先是下載 jar 檔放進專案的 lib 目錄中並匯入。
接著需要在 onCreate 中初始化:
> protected void onCreate (Bundle data) {
> ....
>
> mSlidingMenu = new SimpleSideDrawer(this);
> mSlidingMenu.setBehindContentView(R.layout.behind_menu);`</pre><pre>` `</pre><pre>`}`</pre><pre>`之後在程式裡的任何地方,都可以透過呼叫:`</pre><pre>` `</pre>> <pre>`<code>mSlidingMenu.toggleDrawer();` </code></pre><pre>`
來控制側邊欄的開關。下面以常見的點選 App 圖示來控制側邊滑動選單做例子,來介紹側邊滑動選單可以如何整合到 App 中。
透過點選App圖示控制側邊滑動選單
將 Side Menu Drawer 設定好之後,並不會有按了 App 圖示就開啟側邊選單的效果,需要一些程式碼來控制。
在程式中的 onCreate 或 onResume 裡加入控制碼,強制顯示 App 圖示旁的小箭頭,作為側邊滑動選單的視覺參照,讓使用者注意到 App 圖示點選了還有功能:
ActionBar actionBar = this.getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true);
在 onOptionsItemSelected 的判斷裡,加入點選 App 圖示時的動作:
case android.R.id.home: mSlidingMenu.toggleDrawer(); return true;
這樣點選 App 圖示後,就會出現開關側邊滑動選單的效果。
[App] gpaper 2.0,加入邊欄設計
[App] 台灣當季蔬果
最近老婆為了讓家裡的小朋友吃得更健康,從圖書館借了一本叫做「吃當季盛產,最好!」的書。有天,她請我幫忙掃描書後面的當季食材列表出來,以便去市場買蔬菜水果時可以隨時參考。
掃描時我一邊看著就來了興趣。不少人都可以隨口講出幾件台灣產的蔬菜水果,但是再進一步討論甚麼時候是 "當時"、"當令" 蔬果,可能連老一輩人也不一定答得出來。
於是搜尋了一些網路資料,發現農糧署有提供一些資料,但頗為凌亂,於是寫了些腳本,將台灣產的蔬菜水果分月份整理出來,貼上 Facebook 與朋友分享。
在整理之前,是我太少去買蔬果吧,我不曉得台灣產的水果中,其實只有「香蕉」才是一年四季皆有出產的水果。而平常聽到的「空心菜」、「火龍果」等蔬果,在官方資料中是叫做「蕹菜」、「仙蜜果」這類聞所未聞的名字。
最後我將這些不常見的叫法替換成慣用的蔬果名稱,補上一些來自維基百科的圖片,用 Cordova + JQuery Mobile 將整理好的結果包成了 Android APP,放到 Play Store 上讓大家方便參考。開啟 App 的時候會自動列出當月的食材,除了可以按月查詢之外,也可以查詢四季皆出產的蔬果。