當Google忙著忽悠Android的時候,各位別忘了還有Html5!

來源:互聯網
上載者:User

前言 

--------------------- 

最近正在策劃個LBS的項目,於是入手了部HTC G8, 水貨1700. 也不知道是否心理作用,突然發現部落格園首頁滿是Android的天下。剛開始還是挺開心的,感覺自己找到隊伍了,可是研究Android和IPhone久了,漸漸發現Android存在很多的問題。

 

Android與IPhone哪個賺錢?

---------------------- 

IPhone的一夜暴富故事已經遍布大街小巷,光光一個憤怒的小鳥已經賺了1000w了,但是Android呢?同樣的遊戲僅僅收了100w的廣告費,而且聽說水分還很大。我和同事就專門研究了這個問題,得出一下結論:

1. IPhone是個金礦,適合開發手機應用類、遊戲類軟體。針對細分市場。例如遊戲、某領域的影像處理軟體等等。因為老喬為我們鋪了一條很漂亮的致富道路,並且設立了一定的門檻。

所以IPhone的軟體都是上檔次的,Team Dev都是上檔次的,玩家也是上檔次的。使用者付了款,理應該收到合理的服務。 雙方都存在著責任義務,這個市場也必然能夠發展下去。

因此,如果哪位希望開發個東西出來賣錢,或者接外包項目支付,必選IPhone.

 

2. Android處於並長期處於xxxx的初級階段。Android的定位就是開源免費,入門門檻很低,基本上的懂java就懂android了;而且沒有一套嚴格的審批發布制度,某個阿貓阿狗心血來潮放個半成品也可以說是百年大作。

我就去了android的應用市場,上面50%以上的應用都屬於“垃圾應用” 。各位用過的朋友一定有同感,隨便借個圖寫個字就是一個遊戲,簡直慘不忍睹。

因此,選擇了Android,就選擇了平台開發,如果是做SNS平台、LBS平台,以免費為切入點,再提供增值服務的,Android是不二選。

 

順便補充一下,要開發IPhone就要裝蘋果系統的虛擬機器,再下載個2g的api開發包,聽說發布到軟體市場還要認證云云;因此自認為不是精品的,可以考慮一下如何退而求其次了。

 

Android的編程

-------------------------------- 

本人花了幾天時間研究了下android的api,有些地方寫的不錯,比如用了MVC的思想(個人感覺有點PureMVC的味道),前端xml描述,使用統一的xml註冊介面控制項,後端通過getxxx擷取控制項;不同介面之間通過訊息機制傳遞(Intent);初看下去貌似不錯。

 

但是!!老子要說的是,Android的API有很大部分被Overarchitecture了(架構過度)。提供了一個輕量級的架構足夠了,但是google貌似不滿足,於是使用了各種的繼承關係,一大堆的XXXView, XXXActivity出現了,連一個資料庫調用都會用到基類的方法,例如:

代碼Cursor c = mDbHelper.fetchAllNotes();

startManagingCursor(c);

String[] from = new String[] { NotesDbAdapter.KEY_TITLE };

int[] to = new int[] { R.id.text1 };

SimpleCursorAdapter notes =

new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to);

 

光這個startManagingCursor 已經讓我非常噁心了,在架構上就是我資料庫調用關你Activity屁事,為什麼要從base裡面取?會不會還有很多隱諱的方法?

如果要輕量級,就應該從helper訪問,架構上就是Composition VS Inheritance. 如果玩過UML的就知道大牛們永遠推薦Composition而不是inheritance,因為後者只會讓項目越來越龐大和混亂。

但是問題就是這種隱諱的方法在android demo裡面很多,特別有個notes的demo,簡直就是個典型的反例( anti pattern)。 

好啦,我的確看到這種代碼很不爽,也很不爽為什麼要new 一個 intent,然後傳入稀奇古怪的常量去實現通訊。這種自由不應該被如此約束。 

 

各位看官準備開足馬力向我發炮前,我小結一下,android雖然表面上用了java的文法,但是其編程思想被深深的限制在一種特定的模式裡面,因此開發android會有一定的學習曲線,而不能迅速的調用自由。 

 

HTML5!!!

--------------------------- 

正當我準備默默的接受android的淩辱的時候,突然想起來,曾經還有個HTML5的小孩貌似半死不活的。於是立馬查看了資料!令我非常興奮的是,目前大部分智能手機全部支援HTML5!(實踐證明,偶的G8瀏覽器能流暢的運行HTML5網頁)

這絕對是個天大的好訊息, HTML5除了各種稀奇古怪標籤外,還支援擷取地理位置、本機資料持久等。而且,跨平台

我簡單的對比了Android開發和HTML5開發。HTML5支援幾乎所有最炫的前端效果,純js編程足夠應付,html的頁面表現形式幾乎沒有學習曲線。

因此,如果不涉及重力感應、偷偷擷取手機使用者的連絡人、偷偷開啟wifi等,HTML5足夠應付了大部分的開發應用了。

 

小結

------------------------------- 

android天生就是個窮苦命,要在android開發出精品應用軟體還不如直接投入IPhone的懷抱。

因此各位準備加入android大軍的朋友們,此刻應該稍微反思清醒一下,既然是免費軟體,資訊共用應用居多,為什麼不選擇HTML5?

 

最後,我以“街旁” 的用戶端為代表,說個反例。我反編譯了街旁的用戶端,發現裡面大部分代碼都是“瀏覽器代碼”,典型的請求響應模式,但是“街旁”的技術小白估計腦子一下子沒有轉過來,選擇了android開發,大小2.3m不用說了,而且版本更新起來超級麻煩。

 

各位,三思三思啊! 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.