2015年8月31日 星期一

徒手除錯 Cordova

Codova 其實也有 圖形介面的除錯工具。 可是貴哥有 「命令列分離焦慮症」。 所以在這裡推薦兩個輕巧的命令列輔助除錯工具: jshint 跟 adb logcat。

2015年8月30日 星期日

Chrome 的「禁讀令」 讓 web app 不太可能取代 hybrid app

要寫 app 讓手機平板用, 有三種方式: Web APP、 Native APP、 Hybrid APP。 每種方式各有何優缺點? Kuro 大大 在 ICOS 2013 所做的 這份簡報 的第16頁有個簡單比較表。

其中 "Web app 不支援原生功能" 這件事已有改變: 搜尋 「javascript device API」 會看到已有很多 API 讓 web app 設計師可以跟手機平板互動。 W3C 做了一個 清單 列出目前可用的 API。 例如, 請拿你的手機/平板去開 這一頁: 它用 orientation API 偵測你的手機面向東西南北上下哪一方。

樂觀的 web app 開發者會期待有一天, 這些 API 讓 web app 幾乎可以取代像 cordova 這樣的 hybrid app。

2015年8月26日 星期三

安裝 cordova

如果想要快速上手 cordova 的話, 建議 用現成的 docker 來學 cordova。 這一篇筆記 「苦行僧自力救濟、不靠 docker」 的過程。 本文在 lubuntu 15.04 上, 全程以 root 操作。

cordova 讓網頁程式設計師半小時變身成手機 app 開發者; 順便學 docker

apache cordova

(對 android app 開發沒興趣的讀者還是可以把這篇當做 docker 的 「實用情境教學文」。 「試車」那一節可以只做前面一小段有感覺就好。)

如果你已熟悉 javascript/css/html, 那麼只需要學會操作 Apache cordova 就可以從一份原始碼產生多個標的 (target) 套件, 把你的 web 程式轉成 android/iOS/windows phone/... 等等 八九種手機平臺 的 apps, 一魚多吃! 雖然我目前只對 android 標的有興趣, 但以後如果 firefox OS 紅起來, 我可不想再把所有的 apps 重寫一次啊! 而且程式某些部分可以在網頁上免編譯直接測試, 這對我來說比 「從頭到尾被綁在 Android Studio」 要方便多了。 所以雖然 java 跟 javascript 我都不熟也都不是我的最愛, 但最後還是決定學 & 教 cordova。 這篇教你用偷吃步在 linux 上架快速備妥 cordova 的開發及 android 標的測試環境。

(當然, 如果你偏好 python、 想寫的程式很簡單, 那麼可以考慮 最低門檻的手機開發途徑: kivy。)

2015年8月12日 星期三

臺灣各級行政區域(縣市/鄉鎮/村里)邊界座標檔, 自選解析度、 存成 csv、 畫成 svg

臺灣各縣市邊界、 宜蘭縣各鄉鎮邊界、 高雄市鼓山區各里邊界 政府資料開放平臺提供全國 縣(市)行政區域界線鄉(鎮、市、區)行政區域界線村里界圖 三個資料集。 如果你想從中萃取 「宜蘭縣各鄉鎮邊界.json」 或是 「高雄市鼓山區各里邊界」, 該怎麼做呢? 要如何降低解析度、 減少資料量? 如何存成文字檔, 用 gnuplot 畫成 svg 圖檔, 或是匯入其他一般「非地理資訊系統」的軟體裡面? 也許 Quantum GIS 之類的專業地理資訊系統本來就能處理 (如果看到教學文, 請分享一下網址囉); 不過我就是喜歡用命令列的文字檔工具來處理。 感覺學習門檻比較低; 每個中間步驟都看得見, 比較踏實; 若需要批次處理也比較簡單; 學這些通用小工具, 將來可能在更多地方可以派上用場。