个人开发者基于可编程Web的产品尝试:QCon会前采访FaWave作者李华煜
QLeelulu(李華煜,微博@qleelulu,下面簡稱lulu)是Chrome著名微博插件FaWave的開發(fā)者之一,曾供職于動易網(wǎng)絡和金山軟件,目前在廣州舜飛公司做數(shù)據(jù)分析系統(tǒng)的開發(fā)。QLeelulu熱衷于與Web開發(fā)相關的技術,對于.NET、Python、Node.js一定的了解,在四年的web后端開發(fā)過程中一直插足于web前端JavaScript相關的開發(fā)中。本次QCon大會Lulu會做關于FaWave的演講。在大會舉辦之前,InfoQ對lulu以及FaWave的另一位作者袁鋒(網(wǎng)名MK2,微博@Python發(fā)燒友)做了一次采訪。
\能否講講“發(fā)微”的團隊與創(chuàng)作背景?
\\mk2:關于我們做瀏覽器插件的歷史,其實我們最在是在firefox上做瀏覽器插件的。我們的第一個插件,叫 s8fox,http://www.apprcn.com/s8fox.html 。代碼在:http://code.google.com/p/s8hk-api/downloads/detail?name=s8fox.7z#makechanges 是我們做的一個縮短網(wǎng)址網(wǎng)站:s8.hk,目前已經(jīng)消失了。
\我們是嘀咕(digu.com) 最早的一批用戶,在看到嘀咕的firefox客戶端“狐嘀” (http://www.digufox.com/) 出來后,我們就萌生了做一個嘀咕chrome插件客戶端的想法。
\于是,FaWave的前身 \"iDi\" 誕生了 https://chrome.google.com/webstore/detail/ncjgjhcbpfeealhmagbonjhiggipglfh?utm_source=chrome-ntp-icon。
\2010年,看到新浪微博等各大微博都蜂擁而至,于是我們就想到做一個多微博的應用。FaWave就是這樣誕生的。
\至于為什么會選擇了Chrome,當時原因大概就這樣兩個:
\lulu:FaWave開發(fā)主要是我和我的同學@Python發(fā)燒友 兩人完成的,因為都有正職工作,所以都是利用業(yè)余時間在開發(fā),這就導致FaWave的開發(fā)進度一直都是比較緩慢的。另外因為我們都是開發(fā)人員,UI設計能力實在是糟糕,所以FaWave的界面都是比較普通的。至于為什么要做這個產(chǎn)品,其實很簡單,剛開始的時候只是很單純的想要了解與學習HTML5和CSS3相關的技術。
\\為什么選擇Chrome平臺做這款插件?
\\lulu:上面說了剛開始做FaWave的時候,是為了學習HTML5相關的知識,而chrome的插件是可以直接用HTML與JS來寫的,并且chrome對于HTML5的支持算是比較好的,還有一點就是在chrome上開發(fā)插件你不用考慮兼容其他瀏覽器,這對于前端開發(fā)來說是一件很幸福的事來的。
\\能否說一下“發(fā)微”的技術架構演進過程?
\\lulu:其實架構談不上,剛開始的時候沒有考慮太多,都是用最直接的JS來寫,導致現(xiàn)在代碼有些混亂。目前正在考慮用seajs和一些簡單的前端MVC框架來對代碼進行重構,并提供插件的支持,不過進度緩慢。
\FaWave還需要一些后端的數(shù)據(jù)支持,剛開始是用Python在提供服務的,不過后來改用node.js了,因為都是一些簡單的數(shù)據(jù)接口,node.js比較適合并且實現(xiàn)起來很快速,并且在我們一臺普通的VPS上可以占用更少的資源。
\\對于“發(fā)微”這樣一款應用,最大的難點在于哪里?是如何解決的?
\\lulu:因為FaWave是一款可以將內容同時發(fā)布到多個微博平臺的產(chǎn)品,對于某些平臺來說,它認為這樣的產(chǎn)品損壞了它自身平臺的利益,把內容與其他平臺共享了,所以一些“開放”平臺會限制我們的接口,這就要我們和開放平臺之間積極溝通,甚至需要我們作出一些讓步。 在技術方面的,因為是在瀏覽器端的,瀏覽器端的JS處理能力有限,特別是在字節(jié)流和文件的處理上,我們遇到最難搞的問題就是在瀏覽器端截圖并且發(fā)送到微博開放平臺提供的接口上。在經(jīng)過長達半年的探索與嘗試,最終才在 @Python發(fā)燒友 的努力下把問題解決了。其實主要是利用Uint8Array和BlobBuilder來解決的。
\\“發(fā)微”以后的規(guī)劃如何?
\\lulu:首先肯定是繼續(xù)完善現(xiàn)在版本,提供更好的體驗。而桌面版的開發(fā)我們一直都在尋找一種可以直接用HTML和JS來開發(fā)的途徑,這樣就可以直接將現(xiàn)有的代碼稍作修改就可以了,可惜目前這方面的實現(xiàn)都不完善。另外一個是移動客戶端的開發(fā),我們最想開發(fā)的就是Iphone版的,不過鑒于時間和在移動端開發(fā)經(jīng)驗的缺少,這個進度也是非常緩慢。
\ \mk2:我們想嘗試業(yè)余開發(fā),通過appstore或者google play的模式,通過直接收費嘗試盈利。不過按照我們目前兩人的空閑時間來評估,這估計遙遙無期。 無論如何,我們達到了最初的目的,學習了HTML5和CSS3,還意外地學到了許多Javascript高級用法和Chrome的插件機制。 也讓我們清楚地認識到,基于目前的各種開放平臺,實在是不靠譜。
\\在本次大會上lulu和mk2還會針對此話題做深入討論。會前會后更有機會與二人當面交流。目前大會報名已接近尾聲,票量有限,欲購從速。大會網(wǎng)址:http://www.qconhangzhou.com。報名頁面請點擊這里。
總結
以上是生活随笔為你收集整理的个人开发者基于可编程Web的产品尝试:QCon会前采访FaWave作者李华煜的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 北京科技大学计算机复试面试,北京科技大学
- 下一篇: 无锡室内设计培训——ps难学吗?
