關於動態更新App

現狀:

  • 當前App中,通常,少部分頁面是採用「App嵌入H5網頁 (Hybrid App)」 ,大部分頁面是採”App原生”方式來實現功能。
  • 在一個App原生頁面中,大部分地方可由手機API控制顯示指定信息、操控App前端顯示指定樣式的UI (這些樣式的App代碼需要預先寫在App本地)。
  • 淘寶、天貓這樣的電商App來說,我們的App仍總是看起來沒有別人的一般變化多端。
    但是,如果為了能達到隨時變化、增加新的變化之目的而改採「App嵌入H5網頁 (Hybrid App)」的方式,卻會造成因”H5網頁操作體驗無法超越原生App”先天技術限制使App體驗變差。
  • 對於前述這些顧慮,Apple iOS 及 Google Android兩大陣營皆未釋出官方的解決方式。

 

Facebook 在2015上半年,推出了「React Native」這種新技術。據我理解,其重點有二:

  • 重點一:以 Javascript 語言一次對 iOS App及 Android App進行開發 (但又非以往 PhoneGap、Titanium、Corona 等第三方SDK那種體驗仍不如原生語言的作法 )
  • 重點二:能夠實現 “讓App本地向服務端請求更新,下載新代碼、置換原本在App本地的原生代碼”

其中,前述重點二,舉直接一點的例子來說,很可能可以實現至少以下兩種需求:

  • 需求一:假設我們的App因為公司重大政策修改,必須要立即升級新版本,但這個修改太大了,一來無法用API對線上版本做兼容、二來等待Apple App Store審核新版本又太曠日廢時。用React Native這樣的方式,線上版本App能夠從Server下載最新的相關代碼,用來置換本地App中的地址相關代碼,達成 「飛牛沒釋出新版本App、客人也無須更新App」 的情況之下,使線上版本直接變成使用新規則。
  • 需求二:我們永遠都會看到天貓、淘寶這些強大的競爭者在雙11、雙12時 「又在App首页推出了不可思議的新模塊」,那些新模塊,應該是不太可能全都是「每次發App新版本時都預先寫在App本地裡面的」,應該可以透過遠程直接對App做更新。

下面有一些網路上的參考資料:

  1. 網路上來自天貓、淘寶的公開文章:http://www.tuicool.com/articles/r2EvMzn
    上面這篇文章,發表於2015年10月,作者是天貓技術團隊,說明天貓App團隊真的有採用React Native技術,早在2015年618大促時,就有用這技術達成動態更新App前端的展示內容。
  2. 淘寶Weeb技術: http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=402379225&idx=1&sn=e7d4832eaed0f6e2f6abcf3ee121e2ec&scene=2&srcid=0119pUB0LhsRFJ88yILFBIBy&from=timeline&isappinstalled=0#wechat_redirect 上面這篇文章,發表於2016年1月,作者是淘寶App工程師,說明淘寶團隊除了採用Facebook React Native技術以外,還自己搞了一套 Weeb 技術來實施App端的動態更新,並且用於淘寶App。
  3. Apple的官方文件 https://developer.apple.com/programs/ios/information/iOS_Program_Information_4_3_15.pdf 根據Apple開發者網站的文件,沒有明文對React Native這樣的技術表示支持或是禁止,但是有明文指出:在不涉及改變App原有功能主軸的前提之下,Apple 允許遠端下載code對App本地做更新。
  4. Facebook的實際案例:Facebook的 iOS版本 Facebook Group 及 Android版本 Ads Manager這兩個App,都已經是使用React Native技術實現。他們可以在「不發新版本到App Store上」的前提之下,依然持續對線上版本App做功能更新。
  5.  AppHub https://apphub.io/how 這樣的服務,提供Server給「採用React Native」的App,存儲新的App代碼。而不需要發新版本到App Store上。

以上種種,使我相信:動態更新App,將是App領域下一個革命性的演進,能讓App在兼顧操作體驗的同時,實現如同網頁般靈活地動態更新。

Being jury of NTU EXPO 2013

無標題

Today I went to NTU to be the jury of NTU Cloud EXPO 2013. It’s a presentation and also a competition of Mobile Programming Course and Cloud Application course in department of NTU CSIE.

I quickly saw demos and chat with all of the teams of both courses in around two hours. A lot of teams build LBS apps such as restaurant, bikes, travel, most of their apps are not special. I saw three teams which catches my eyes.

First team is NoteBase, a platform which allow students buy and sell notes taken in class. I hope them to allow students transit money by ATM to a certain account, instead of allowing credit card only. I advised the team to allow users to give good reviews to students who provide notes of good quality. And at the same time, the membership should be anonymous. Because if other students find out on of their classmates is exactly the person who sell notes on website, they would ask for note free of charge instead of buying

Second team is Banck, a website which allow users to record how much money they spend each day on iPhone and on website. It is good because most similar apps in Taiwan allow user do it on apps only. The UI of their App is just of general quality, but the charts on their website is awesome. (The use the resources of HighCharts.com)

And the third team is Draw 2 Share, an iPhone App which allow users to share photos to nearby friends immediately. There are a couple of reasons that made me give them high scores. The app doesn’t need users to register nor login via OpenID.

Most of the students have strong ability of programming and UI design, which is enough for them to build their own product. However, the product alone is not enough. We have to think about how to gain users and how to monetize. I’m not a programmer but I know a little bit of coding. That is, I prefer to ask these students about how their users use their applications rather than what kind of language of framework they use in their App of website.

It was first time for me to be a jury in a competition. While discussing and questioning about those students’ applications, I felt like I were examining my own product. It was a great experience.

Some thoughts regarding to iOS Passbook app

Apple released Passbook in iOS 6 update, and it’s one of the features that impress me much in iOS 6. Passbook allow users to collect all coupons, cinema tickets, boarding pass in their iPhone.

With Passbook, there is no need anymore to download and register any other third-party ticket-collecting apps. I think it would be extremely convenient for general public in the coming future. However, such trend shows less sign in Taiwan market.

Recently in Taiwan, smartphone user population is seeing obvious growth among total cell phone population. Nevertheless, the way users in Taiwan using smartphone is much different to place where iPhone was invented, says USA.

For example, in Taiwan, seldom do general public purchase legitimate digital music. People here are already used to buying things on internet, but much more on traditional website rather than on mobile web or within smartphone apps. Since iOS 6 was released in June 2012 for developers only, and in September 2012 for all iOS devices users, I have seen only two taiwanese companies who had started developing services regarding to Passbook.

Besides digital purchasing digital music, goods, and e-books on mobile devices, many O2O services which are already popular in USA or western countries are still unfamiliar to Taiwanese consumers. This phenomenon from time to time frustrates startups and developers on this island.