search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

2016, 一個獨立開發者的心路歷程

這篇文章參加2016 與我的數字生活:少數派 2016 年度徵文活動

2016年對我來說是特殊的一年,這一年中,收到了謝菲爾德大學的Offer,生活的地方由上海變為了英國的謝菲爾德,同時,我也開發出來了數款app,每一款都有著自己的故事。看了下其他人的徵文,都在講述如何使用其他人的app提高生活質量,這篇文章將會從開發者的角度講述一下,我是如何用自己的產品改變數字生活的。

自我介紹

先介紹一下自己吧,我是一名大二學生,現在在英國讀電子信息工程,這個專業和App開發和計算機沒有任何關係,所有的知識,都是我自己學習的,相當於是興趣愛好吧。在學習生涯中,會定期維護自己的科技博客,維護自己開發的各種app,外出攝影等等,在後面會一一介紹。

走上Android開發道路

說到我app開發生涯的開始還是再2015年,那一年年初我有了自己的博客MikeTech, 在那年7月,我開始了Android的開發生涯並且在學習Android開發一個月後為我的網站開發出來了App。第一個版本是這個樣子的:

這個App從有想法以來到編程到上架Google Play一共用了差不多5天時間,主要的開發地點在上海的一個小旅館里(當時順便來上海和朋友看China Joy,晚上就住那),使用的是自己購買的一台二手並經過魔改的ThinkPad X220,如果真的想寫出來一個產品的話其實電腦配置什麼的都不是問題。

雖然現在看起來真是怎麼看怎麼丑,不過當時剛開發出來的時候那感覺真是厲害,畢竟是我開發出來的第一個有實質意義的產品。在之後的時間裡,很長時間內我都是只在維護這一款產品,雖然沒什麼人用,但是通過維護這一款產品,我的Android開發水平不斷地提高了,到了之後的版本中,僅僅去實現一個功能已經不再是我開發時的主要目的。我開始將更多的重心放在了設計和用戶體驗上。慢慢的開始適配Google Material Design設計規範,提升用戶的使用體驗,並且不斷添加更多功能。MikeTech For Android是我維護時間最長的app,也是見證了我開發與設計能力提升的app,在2016年的最後幾天,我再一次推送了新版本。這一次,是這樣的:

走上iOS開發道路

我開始為iOS設備開發應用的時候就是2016年初,在去年晚些時候突發奇想在自己的ThinkPad上鼓搗了一下黑蘋果,不過不是很理想,不能裝最新版本的Xcode開發環境(不過當時也不會開發iOS),沒有網路,沒有音效卡。當時還發了個朋友圈炫耀了一下。沒過多久,我媽發來消息:「如果你真的很想要一台MacBook的話就給你買一個」,因為我給她提到過吧,她答應我2016年9月份如果真的收到了英國大學的offer就給我買一台。不過看來我擁有一台MacBook的時候要提前了,之後又過了幾周,忙完了學校的論文,在學校旁邊的Apple Store購買了一台15寸的MacBook Pro。這台MacBook是迄今為止我覺得在電子產品中我最值得的一筆投資,實在是太好用了,即使已經使用了1年多,這台機器速度依舊飛快,滿足著我日常的各種需求。

不過之後由於學校的事情比較忙,學習iOS開發的事情就被我淡忘掉了。直到寒假,一天晚上睡不著覺,看了看網上iOS開發的教程,雖然iOS和Android使用的不是一個開發語言(一個是Java,一個是swift或者Objective-C)但是看了一會,我覺得都是一個套路,然後覺得可以為自己的博客網站開發出iOS客戶端了。

於是開始為iPhone開發自己博客的app,可能當時也是有點急吧,每次為Android版推送更新的時候,總會有人很有優越感的說:「可惜我用的是iPhone」。開始開發的第一天就寫好了雛形,不過當時也是什麼都不會,摸著石頭過河。正好放寒假,出了出門聚會走親戚就是寫代碼。

功夫不負有心人,用了十幾天,學習帶開發,第一個版本終於問世了,剛好也開學了,可以接著投入到學校的事情中了。用壓歲錢交了99美元的Apple開發者註冊費用。

不過,iPhone版的上架就沒有Android版那樣一帆風順了,被蘋果以各種理由拒絕上架,舉幾個例子哈,我的博客分類中,有一個類別叫做Android,蘋果直接因為這個拒絕上架。之後,有一張應用截圖上面出現了Android字樣。。又被拒絕。。反正來來回回被拒絕了很多次,每次拒絕再審核都要大概一周的時間,折騰了大概一個月,最後還是登上了App Store,成為了我的第一個iPhone應用。

之後的一個學期,我空餘時間也會維護這個app,進行了若干次更新,改變過數次設計。不過當我宣布iPhone版的MikeTech上架的時候,還是會有人跳出來說,可惜我用的是三星S7,我笑而不語。

Lens Genius [Android]

之後就是大概7月份了,放暑假了,在家裡忙了一個暑假的出國準備,到了8月多終於簽證什麼的都辦好了,一切都準備就緒了,可以出去玩一玩放鬆一下了。我平時也喜歡攝影,平時外出旅遊的時候會攜帶一台Nikon D810拍攝照片。

在旅途中難免也為鏡頭不適合操心,想著買一個其他焦段的鏡頭來彌補(也就是想一想),但是每次選鏡頭都要去官網,比對還很麻煩,手機上也不方便,於是我就想看看有沒有什麼app可以看下鏡頭參數,下面是我在網上看到的別人寫的app:

算了。。。自己開發一個吧,在旅途中,用了3天時間,我開發出了這款鏡頭資料庫app:

Lens Genius

這個app包含了各種廠商(尼康,佳能,索尼,三星,富士,施耐德等等)的九百多隻鏡頭的詳細參數,還是離線的,並且檢索和篩選起來特別的方便,簡直是挑選鏡頭的必備。並且在設計上遵循了Google Material Design。在Google Play上可以下載~免費!Costuary [Android]

9月份就要出國了,所有的金錢都得自己管理,並且管理的還不是人民幣,是英鎊。由於匯率詫異過大,當我花掉5英鎊的時候是感覺不到自己花掉了40多人民幣的,所以,我預先在國內開發了這款記賬app,

Costuary。

app名字是花費(Cost)和精算師(Actuary)的結合。

這個記賬app是我獨立開發過的最大的Android項目,他支持多幣種實時自動換算,可以將你花掉的英鎊用實時匯率轉換成人民幣顯示出來,並且擁有詳細的周,月,年報表,支持Excel導出。

這是第一個版本:

結果被吐槽的有點嚴重。。。甚至丑的都不讓上架,當時我看到這封郵件的時候正好在簽證中心,一口老血噴出來。

之後我重新設計了整個app:

在發布了穩定版本之後,我決定為這個app加上雲同步服務,這對我來說可不是一件容易事,要牽扯到後端服務和後端開發。在一個公司中,Android開發者,iOS開發者,後端服務,是三個不同的職位。可是如果我想實現雲服務功能,就得自己去學習這些。

開發一個同步服務並沒有那麼簡單,要考慮的事情很多,把賬本同步到雲端賬戶上,並且還要同步已經刪除的項目,要麼在第二台設備上即使刪除過得條目還是會同步回來。還有就是需要支持併發性,必須要設計一個可靠的系統來讓整個app即使再有幾千筆賬目的時候與伺服器同步也能做到不卡。需要考慮的事情太多太多,畢竟這是我第一次開發這樣的功能,一點經驗都沒有。

儘管沒有任何經驗,開發出來的產品還是要對用戶負責的,我不希望我的產品安裝到用戶的機器上會因為某些設計缺陷而崩潰,任何人都不不傻,不會因為情懷買單。在經歷了幾天的測試之後,終於確定整個功能完善了,我推送了更新。到現在Costuary有著穩定的用戶群,儘管不多,但很穩定。

為什麼選擇Google Play

以上所有的Android App都可以在Google Play上搜索到並且免費下載,至於為什麼選擇Google Play為發布渠道,因為我覺得Google Play可以更好的保護用戶的權益。

每當開發者要上傳app到Play上的時候,必須要填一個調查問卷,其中會問到,有沒有納粹字元?有沒有宗教辭彙?有沒有暴力言語?根據結果,Play會為app打一個評級,年齡不符合規定或者特定地區的人是無法檢索到這個app的。

並且,如果有的App被檢測到安全問題,Google會及時下架app來確保用戶安全:

某些其他平台只會發這樣的郵件,只是為了維護自家商店的利益罷了:

英國生活

轉眼間到了9月份,是時候出國了,在出國之前,我將主力機器由原本的iPhone 6更換為了Nexus 6P,因為,我終於可以享受完整的Google服務了,指不定還能體驗一波Android Pay!9月17日,我坐著飛機來到了謝菲爾德,開始了英國的留學生涯。

既然這篇文章是關於數字生活的,那麼我就來展示一下我平時學習的地方吧,看看我都使用什麼電子產品:

我的主力電腦就是這台MBP 15,在2016年,我的所有app都是在這台電腦上開發的。

外接了一台顯示器(二手的),忘了什麼型號了。

小米滑鼠墊,小米檯燈,小米插線板,小米手環2(比我以前的Moto 360好用太多),小米五號電池。

除了MBP 15,我還有一台ThinkPad X1 Carbon 2016,用於泡圖書館和旅遊,X1非常纖薄,放到包里感受不到重量,平時寫博客,寫論文,旅遊時候的照片後期,都是由他完成。

在英國,Google Nexus 6P原生Android體驗和完整的Google服務真的比國內強了不少,Google服務無處不在,在生活中的時時刻刻都能幫上忙,尋找周圍的餐廳,導航,查看周圍的旅遊景點。分析郵件中的日程,自動翻譯界面中不認識的文字(Google Now on tap)。

不過,在來到英國1個多月後,我還是選擇將我的主力機換成一台iPhone SE,主要原因就是Nexus 6p電池是在太弱了,一會就沒電了,很多次在外面就沒電了,根本借不到type-C插頭,並且6p也不兼容我的移動電源,總是充不上電。剛開始的幾個月在異國他鄉手機突然沒電還的確蠻危險的,有時候去山上徒步要是手機沒電了那還不死在荒郊野嶺,快充頂個毛用,高性能處理器頂個毛用,2K屏幕頂個毛用,原生Android頂個毛用。

還有一個原因就是因為Apple Pay,Apple Pay真是太方便了,在英國,所有支持Contactless payment(在叫做閃付)的地方都可以使用Apple Pay。

在很多超市,比如Tesco,一般都是可以自己拎著東西自助買單的,走的時候手機在機器上蹭一下就好,很方便,三秒鐘解決戰鬥。並且在倫敦,坐捷運也可以直接刷手機(Android/Apple Pay都可以),很是方便。

所以我將主力機換成了iPhone SE,畢竟不是每天都要用到Google來看周圍的餐館,不過每天買三明治的錢還是要花的。

Aircraft Pedia [iOS]

在英國,多了一個活動,那就是和朋友去曼徹斯特機場拍飛機。

在沒有論文的周末,有時候會坐火車去曼城機場的觀景台拍飛機,我和基友也是對客機很感興趣,喜歡看各種空難紀錄片,聽見空客A380轟鳴的引擎聲都能激動半天。

有一天突然就要一個想法,可以去寫一個app來查閱各種飛機的資料,剛好很久沒有開發iPhone項目了,那就在iPhone上寫一個吧,於是,用了一周的時間(上學+開發),Aircraft Pedia誕生了。

這款App就可以很好地輔助航空愛好者來查閱各種型號的飛行器信息和性能,不光有客機,其中還包括各種戰機。由於是一個工具類App,這也是我第一個收費的app,國區定價3元,有需求的小夥伴可以入一下。Flat Weather

Flat Weather是我最近的一款作品,也是下載量最多的一個作品。

從前面的作品不難看出,都是使用了普通的app設計,真正用到設計來提高美感的地方很少,Flat Weather是一款風格和我以前作品完全不同的App,其中每一張圖都是我自己設計並且繪製的,是美工佔在開發周期中時間最長的一次。關於這個App的設計,進過少數派Matrix精選,感興趣的讀者可以去了解下:天氣應用 Flat Weather 的設計歷程

至於我為什麼要去開發這樣一個App,其一是我想去開發一個與眾不同的天氣App,還有就是我想去提升一下自己設計後端服務的能力,Flat Weather的後端服務,也就是伺服器端,同樣是我編寫的,為此,我每個月要支付60多元的伺服器租賃費用。我的每一個項目都有明確的目的,比如Costuary,這個項目就在資料庫編寫中為我累計了很多寶貴的經驗。Flat Weather也是,為我在後端服務編寫中累計了很多的經驗。

Flat Weather的故事很多,在少數派發表我文章的那天我獲得了大量的下載,有很多人評論並且支持我,並且有很多人像我發郵件反饋不足的地方,這些舉動都令我感動,畢竟,想要做好一個產品,只有一個開發者是遠遠不夠的。

不過也難免會得到不好的評價,第一個版本的主要問題就是不支持中文,和自動定位功能的缺失。自動定位的缺失是我的不對,因為我沒有考慮到這個App在第一個版本就會獲得這樣的下載量,這個功能,如果你們看到了這篇文章的話,那麼應該已經加進去了。

評論中有一句話我是不贊同的:「不管是不是國內開發者開發的,支持中文是必須的」,我只是不知道為什麼是必須的。用Steam買遊戲的人應該都知道,有很多人因為遊戲沒有中文支持就給差評,這是一個很不人道的行為,因為很多獨立遊戲工作室的開發者根本沒有資金去聘請翻譯,漢化一個軟體或者遊戲的代價有時候是巨大的。我的App加入中文是早晚的事情,在最新的版本中我已經加入了簡體中文和繁體中文的支持,也是因為那一周太忙,你們都在過年,我還在上課,所以更新版本推到了周末。

作為一個人人都適用的工具類App,適配VoiceOver功能還是必要的,iPhone的VoiceOver可以通過朗讀屏幕上的內容來輔助視力障礙的人適用iPhone。在MacBook 2016發布會開始,播放了這樣一段視頻,片中一個手腳不便的殘疾人在使用頭部動作控制一台iMac通過Final Cut Pro剪輯視頻;一個盲人,劃開了iPhone的相機,當iPhone讀出:「One face, smile face, focus lock」的時候,相信很多人都震驚了,這才是科技的偉大,儘管每年唱衰蘋果的聲音不斷,不過Apple在各個領域做出的貢獻大家都是有目共睹的。OviceOver功能的適配已經加入到了我的開發計劃中。

總之還是感激大家的支持和評論,你們的反饋會使我更好的完善我的作品,Flat Weather還會不斷更新,去完善那些缺失的功能。我知道我沒有能力去讓那些不喜歡我app的人去使用他,但我不會讓支持我的人失望。

尾巴

以上就是我的2016個人量化,我2016年作為獨立開發者的心路歷程。我通過不斷地開發新的app來提升我的開發能力,增長經驗。一個人經歷完整的項目:規劃,設計,美工,開發,後端,運維,我很享受這一過程,怕以後工作了就找不回這樣的感覺了。這就是我為什麼選擇當一個獨立開發者。在這一路上,有家人朋友的支持,有自己的努力,這一切都是值得的。

還記得剛進入大學的那天,爸媽把我送到了上海,那天他們給我買了一台iPhone 5S,我換掉了我才用了三個月的魅族MX3,在車上,我媽問我,你是不是早都想換一台iPhone,我說是的,她回我那你怎麼當時換了魅族。。。我當時回到,因為我在學習Android開發,其實是覺得太貴了。不過,我並沒有說謊,一年後我真的成為了一個出色的Android開發者,並且還因為這個找到了自己的第一份實習,一開始就買一台iPhone指不定都不會是現在的樣子。

智能手機的出現的確為人們提供了數不清的便利,我熱愛電子產品,熱愛開發,希望通過自己的一份力來提升人們的數字生活品質。相信其他的獨立開發者也是因為這個信念支持著自己,掏著自己的錢包支付每年99刀的開發者和伺服器的費用,為的只是為他人提供方便。

2017年已經到來,我會繼續努力,為大家帶來更好的App。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦