獨立開發一個 App 是一種怎樣的體驗?


從事iOS、安卓開發八年,卻只發布了一款APP。


我是一個程序員,從業18年的「老程序員」,從2010年轉做iOS開發以來也有將近八年的時間了。八年,對一款APP不斷的維護、完善、更新、版本更迭,一路走來,回頭看看自己都難以置信。

我是一個「老程序員」,又是一個愛學英語的「老程序員」。學英語免不了要刷單詞,刷單詞的時候我發現很多單詞都有一些非常好的記憶方法,但這些方法散布在互聯網的各個角落。能不能做一款APP,把這些方法搜集起來,方便用戶查詢呢?

想到這裡我就開始動手了。

第一個版本功能很簡單,但卻是最花精力的。1.確定單詞範圍。綜合了網上的一些詞頻資料又加入了一些醫學辭彙,第一個版本收錄了10來萬個單詞。2.以俞敏洪老師的《詞根》為基礎,初步整理了800個詞根,給7000多個單詞做索引。3.因為是我一個人做,沒有溝通成本,代碼實現的效率還是很高的。雖然安卓和蘋果的開發語言差別較大,但核心代碼的演算法基本一致(比如數據存儲和檢索),只是界面部分略有差別。

2011年年底順利上線了第一個版本,為了降低成本appstore還是用的朋友公司的賬號,因為沒有伺服器所有功能也都是離線的。

不過上線後用戶反饋並不好,我想一定是哪兒里出了問題。認真分析總結問題應該出現在兩個方面。

1.產品形式定位為字典,那麼字典類的內容當時只有概要解釋,音標、發音、雙語、例句、同義詞、英英等都是後來一步一步加上去的。

2.單詞記憶的素材太少了,使用者在查詢的時候,有很多詞查不到記憶法,還要用度娘二次找。

找到問題,那就逐步解決問題吧。

內容主要有以下幾類:

1.名著上下文。

閱讀是複習和鞏固所學單詞的最好方法,最好的閱讀材料當然是英文原著,可是我們很多人讀原著都有障礙。單詞量不夠的時候查字典會讓你丟掉所讀閱讀的樂趣和激情,而有時候就算所有單詞都認識,也不能體會作者的意思。

針對查字典的問題,我開發的【名著閱讀】的點單詞自動查含義,這在當時還沒有人做,所以這個功能上線後,吸引到了很多用戶下載。針對所有單詞都認識,也不能體會作者的意思的問題,我給每段英文都配上了中文,都是手工操作的,一共整理了100多部名著,整整花掉了一年多的晚上和周末。

如果你喜歡看實體書,我還給這100本書里的每個單詞做了索引,所以也可以通過查詞定位到這裡:

2.詞根詞綴分解

背單詞還有一個重要的方法就是詞根詞綴。詞根詞綴可以理解為漢字的偏旁部首,我們大量記漢字肯定不會按照橫豎撇捺去背,同樣英語單詞也不應該按字母羅列來背,除非你是初學者(我們剛會寫字的時候也是橫豎撇捺啊)。這方面的中文資料雖然很多,但都是圍繞5000左右的考試辭彙的。英文資料已經很豐富,但都是文字資料。如果把這些資料數字化,學英語的同學就能方便的查詢每個單詞的詞根詞綴,也可以查詢每個詞根構成的單詞了。這個數字化的工作,目前中外只有我一個人在做。

截止今天已經拆解了十萬多個單詞,總結了兩千多條詞根,並引入正向和反向索引,方便舉一反三式查詢。同時給這些單詞畫「詞源樹」,有了這棵樹你就可以了解這個單詞的來龍去脈了。

3.單詞記憶法

這個功能我是用單詞筆記的形式體現的,最初的設計是希望每個用戶都能把自己覺得好的方法提交到系統。但現實是:初期的用戶量很少筆記就很少,而筆記少就不能吸引更多的用戶,這是一個惡性循環。為了讓這個體系運轉起來,初期的筆記都是我個人錄入的。這會存在版*權的問題,不過在之後的運轉過程中我都進行了版權確認,這當中得到了摩西老師、錢磊老師和童理民等老師的支持,現在這幾位老師在APP里都有專欄,大家一定要關注他們,都是行業精英。

其他的過程還很多,就不細說了。

隨著資料的逐漸豐富,APP也得到了使用者的認可,看著APPStore裡面清一色的五星評論,比喝什麼雞湯都管用!

我知道這不是個人英雄的時代,但憑藉自己的努力為英語學習者提供了一款絕對良心軟體,卻也欣慰,雖然為此付出了很多。


高偉東,2017年7月2日於哈爾濱。

————————————————————

沒想到第一次知乎問答就有這麼多人點贊,謝謝各位支持。下面附上來自用戶@安和Annd的留言和大家共勉。

10.
我似乎正在慢慢遠離自己的理想。
兩個月前的今天,我剛剛邁完這十八年來的最大一個坎兒。高考一錘定音,專業也隨之塵埃落定。
不是我曾經心心念念的臨床醫學。
想當醫生,這個夢做了很久了。聽了之後有人給了鼓勵,有人笑而不語,也有不少人直言不諱,說醫學生學時長課業重,出來待遇也不高。女孩子家,學個翻譯,學個師範,賺得多還受人尊重,多好。
我說知道啦。

9.
知乎上有個問題——活在中國,你感覺這個國家最讓人不解的是什麼?
有一個答案,作者茶小花說,歌頌美德,卻不相信美德。
這句話我消化了很久。後來每次遇見一些場景,心頭都自動浮起這句話。
比如,有人繼續追問我,為什麼想當醫生?
我老老實實地講,這種能幫到別人的感覺太酷炫,而且不是錦上添花,是雪中送炭。
有些人點頭,但總有別人臉上掛滿"就這"?
有時候我也問自己,就這?

8.
沒錯,就這,這對我很重要。
夢想,會被人恥笑的夢想。從什麼時候起,不計成本地"幫助別人"被歸成"傻"的同義詞。
醫生又如何,救死扶傷又如何,掙不了錢,就是不識時務,就是傻乎乎的。
但我想花自己的時間,去做我認為有意義的事情,可不可以?
我想十年如一日,把這件事堅持下去,行不行?

7.
說到堅持。
我向來佩服把事情做到前1%的人。
英語如此,編程也如此。
獨立整理五十萬多詞條,算不算英語頂尖?
獨立編寫升級維護軟體,算不算編程頂尖?
後面花了多少時間,多少次想要放棄,我無力想像。只是,看電影,最引人注目的、最讓人摩拳擦掌打算大幹一場的,永遠是超級英雄飛天救世的情節;但回了現實世界,相信你和我一樣,既感且佩的,反是那些從小人物發家,一路咬著牙流著汗,付出的是苦心是血汗,告訴自己不能放棄的人。
認真又努力的人,到哪裡都該受尊敬。

6.
所以,這款軟體最讓我感動的是什麼?
兩個,好用,實在。
詞根詞綴的好處,就像偏旁部首,試過,才知道記憶可以多有邏輯。
市面上還能不能找到更好的詞根詞綴軟體?
我沒找到。
而且對我一個窮學生來說,最好的是,他不收錢。只會偶爾,真的是偶爾,跳一個框出來,禮貌地和你說,一個人維護這軟體確實難處很大,可不可以給點幫助?你不想給錢把對話框關掉,它也乖乖地,不來煩你。
有些詞典有試用期,有廣告,它沒有。
說是良心,把用戶當朋友,不過分。

5.
高老師,論年紀已經可以做我的上一輩。我對他的印象和另一個人重合——說出來你們可能不信——小米總裁雷軍。
我是米粉,死忠那種。喜歡小米,並不是他們家產品多麼趕英超美無懈可擊,很大一部分是被雷老闆人格魅力圈了粉。
為什麼我會喜歡商人雷軍?
小米的招牌,你我都知道,物美價廉,走的是性價比之路。買東西講究貨比三家,誰願意花些冤枉錢?薄利多銷,多少人講過這個路,多少人盼著真正價格平易近人的好手機出現。
只有雷軍和他的小米做到了。
雷軍的偉大在於,他向我們展示了一種可能性,是不是想要成功,只能通過大把撈錢來實現?是不是相信美德,就註定會吃虧到死?是不是像我一樣,做個能幫人的好醫生的理想,就是會被人恥笑的理想?
他給後生們指一條路,路上說,踏踏實實去做,只管認真,自然有人幫你贏。
巧的是,德不孤,必有鄰。
一樣的,高老師,你只管認真,我們幫你贏。

4.
這個潮水般奔涌的世界,人要換個位置,簡直不要太容易。每日路經的麵館在不經意間掛上了歇業的牌子,喜歡的雜誌也某一個月突然停了刊。
關於堅持的歌,唱一日,一月,一年,都尚還算得上容易,只是這首太容易倉促結尾的曲,高老師已經奏了十年。
什麼概念啊,十年,由此而來的正式收入一分錢都沒有,租伺服器要花錢,宣傳要花錢,一分一秒鍵盤上的光陰,十年幾乎所有的空閑時間,也寶貴無比吧?入能不能敷出,全靠用戶心情。
捫心而問,你能做多久?

3.
把自己代入想了想,至多三四年。萬一有一天累大了,甩手不幹,軟體如何半成品,隨它。
可是實際並沒有,最近的詞典庫更新,就是去年的事情。
知道這軟體的有多少人,一千?兩千?他為了我們這些用戶,數量不多的用戶,一直堅持到現在。我有嘉賓,鼓瑟吹笙,他再苦再累也和自己說,有人在用這軟體,不能放棄。
謝謝你沒有放棄我們。
你奉獻給我們的如此之多,現在輪到我奉獻給你了。

2.
這也是我寫這篇文章的初衷。
酒香也怕巷子深,信息井噴的時代,水軍可以輕易買到的時代,有價值的東西太容易被輕易埋沒。我一個學生黨,做不出什麼像樣的東西給你們。能做到的,就是宣傳宣傳,通過自己的努力,讓更多的人知道,讓"好人有好報"這句話實現的可能性大一點。
我想和你們一起,創造一個奇蹟,有關理解,有關感恩,有關不忘初心,方得始終。

1.
我生活的地方,就是我的世界。我想讓自己的世界更美好一點,有更多兢兢業業的醫生,有更多學以致用的程序員,更多人可以為了夢想不計回報地付出,更多人因為能幫助到別人,而勉勵自己堅持下去。抱有這樣想法的人,一定還有很多,他們藏在各行各業,觀望著疑慮著,因為沒有看到前人的足跡,而不敢邁出第一步。
畢竟誰知道這麼做了,結果會如何呢?
也許我們只需要知道一個例子。
現在,這個人就在這裡,高偉東老師,和他的【詞根詞綴記憶詞典】。

0.
總有一些看起來常人難以理解的堅持。
背後是為了什麼,懂的人自然懂。
希望每個有夢想的人,都能得到好的回報。
希望每個有品質的軟體,都能被慧眼識珠。
希望,你和我,每一個有抱負的人,
互相幫助互相扶持,總能守到雲破天晴那一日。


UWP業餘開發者表示,非常願意做一股清流。在喧鬧無比的iOS和Android平台,為了給應用造勢,太多人費盡心思,勾心鬥角,而這邊廂,Win10應用商店冷冷清清,仿若世外桃源(逃)。但是Win10的用戶數,你敢說不多嗎?所以UWP開發仍然大有可為。

至於感受,自從入坑UWP,我的心情就和Win10的發展捆綁在了一起。當Win10推出良心功能又吸來一波用戶的時候,我會跟著高興,但看著Win10 mobile市佔率越來越低,我會肥腸難過。獨立開發應用就像生孩子,Win10的興衰掌控了孩子的命運。

(↑以上是我的孩子,紙書科學計算器,也叫Naturplay Calculator)

至於日常,我喜歡沒事就登錄一下商店後台,看看下載、安裝量數據,看看有沒有新的用戶捐贈,看看崩潰信息,用中文或英文回復一下各國用戶的評論。有很多非常真誠感人的評論,翻看評論就好像在收割陽光,就好像在聆聽孩子的老師們對孩子資質的評價:

(這個梗在這裡:程序員能給女朋友做什麼特別浪漫的禮物? - 知乎)

(以上評論僅代表評論者的看法,不客氣地提出意見的用戶也有不少。這些圖不是同一天截的,所以風格亂了一些,見諒)

我在評論底下的回復里承諾了一些更新,結果由於時間原因,有些坑到現在都沒填上(逃

偶爾也會收到用戶發來的郵件,扎心了老鐵:

當然,也有一些奇奇怪怪的評論,比如這位印度老哥,你是來我的評論區修行了嗎……

這個應用是在2015年7月31日Win10 10240正式發布的時候開始開發的。兩年來,我看著這個孩子一步步成長。從2015年夏季的無人問津,到今天在全球市場上有一百多個國家和地區都有人安裝這個應用,中間有數不清的更新。現在最爽的事情是看看孩子在全球市場的安裝量概覽圖,會給我一種歐陸淪陷的錯覺(逃

有時,我也會利用用戶量做一些有趣的事。有一天突然靈光一現,由於這個應用是一個科學計算器,何不統計一下用戶在日常使用中,0-9的輸入頻率都是多少?使用哪個運算符最多?應用商店提供的api可以實現這一點,當時我統計了一個月,獲得數據如下:

最後發現0當之無愧是被點擊最多的數字鍵,而乘號是被使用最多的運算符。

另外,憑藉著自娛自樂的精神,在我缺衣服穿的時候,也會自己搞個周邊:

做自己應用就是這樣,從產品、UI到編程,再到公關和客戶支持等等,都要自己一個人獨立完成。雖然一個人能做的工作是有限的,但做出的成果就是自己的孩子無疑(隔壁老王?不存在的)。雖然這個孩子只是工具型應用,而且還有很多地方需要改進,但是它能茁壯成長,離不開父親的不離不棄,更離不開大家的支持。

我愛我的孩子。

相關的文章或回答:

擁抱亞克力,可能是今年最後一次更新了…… - 知乎專欄
Win10應用《紙書科學計算器》更新啦! - 知乎專欄
整理一些《紙書科學計算器》的小Tips - 知乎專欄
想找個計算器當本命?(UWP) - 知乎專欄
程序員能給女朋友做什麼特別浪漫的禮物? - 知乎


我是安卓應用「漢字古今中外讀音查詢」的作者。用這個應用,可以查詢漢字的中古音、普通話、吳、粵、閩等現代漢語方言音,以及在日語、韓語、越南語等外語中的讀音。

之所以做這個 app,是因為我在學中古漢語的時候,想要與各種方言和外語對照,但是一種語言一種語言地分別查字典很麻煩。萌生了做 app 的念頭以後,我自學了安卓開發,在 2014 年初,用了三個月的時間做出了 app 的第一版。

做 app 的第一感覺,就是有一種自食其力、萬事不求人的快感。當然,這種快感以前體驗得多了,所以並沒有什麼新鮮的。

第二種感覺,就是覺得完整開發一個 app 需要的技能點實在是太多了。單就編程語言來說,製作這個 app 就用到了 HTML(分析在線詞典網頁結構)、Python(爬蟲)、SQL(資料庫查詢)、Java(安卓本身)。除了編程以外,還要做需求分析、界面設計、後期維護等等,有的時候還真是力不從心。這也讓我對真正的「全棧工程師」產生一種敬佩之情。

第三,是感慨技術發展太快。作為獨立開發者,又是業餘的,精力不可能總分配在一個方面上。如果幾個月沒有關注某個方面,再回來時往往就會發現技術又更新換代了。比如,15 年時我還在為適配 Android 2.x 而發愁,而現在 Android 4.x 都已經快被淘汰了。

第四,就是感覺 app 發布以後,會開始從用戶那裡收到一些需求。實現用戶的需求,就不如實現自己的需求那麼爽,所以這裡要有所取捨。

這裡有我上個月講述 app 製作經歷的講座視頻:BitTiger丨The Lifelong Learning Platform of Silicon Valley


既然知乎把這個問題推送到我首頁了。聊一聊當年我寫「靚曬」時的經歷吧。

這個應用現在還可以下載,還不錯:靚曬(ooo.oxo.apps.materialize)_1.7.2_Android應用_酷安網

2015年的一個周一,像往常一樣,我正收拾行李準備從廣州回深圳上班。

突然一個 idea 從腦海中閃過!

回憶一下,當時的情況應該是這樣的。看了看手機桌面上的微信和微博,在 Android 5.1 的 Material Design 下顯得特別巨大…

咦?我記得 Android 應用是可以向桌面創建快捷方式的(很多應用就靠這個第一次使用的時候給你桌面放一個),不知道這個快捷方式的圖標是不是可以自己生成的呢?

於是趁著坐公交車去火車站的間隙,腦海裡面立刻就開始飛速地規劃著:我可能需要用到 PackageManager 去獲取應用列表,然後可能需要一些 Canvas 的知識去處理圖標,最後出來的應該是個 Bitmap,關鍵點是創建快捷方式的 Intent 是否接收 Bitmap 輸入…生成圖標可能是個耗時操作,不能放在 UI 線程,所以我還需要用到 RxJava(當時 RxJava 正火)…

取票…等車…上車坐下,掏出電腦,手機打開熱點…

飛速地建工程,Gradle Sync 然後想想 4G 流量默默地捂著胸口…好在廣深的信號質量還是不錯的(搶鐵集團:你這是諷刺我的動車慢咯?)

期間隔壁座一個(應該是東南亞的)外國大媽用英語問我能不能借用我的 Wi-Fi 哈哈哈…我義正言辭地說「Sorry…」


1小時,動車經過深圳東站,調試完畢,gradle assembleRelease,扔上 FIR(那時候還是個很好的平台,唉…),發到平時一群 Android 開發者談笑風生的一個 Telegram 群里。車到深圳站,下車。

晚上下班稍微修了修趕時間沒來得及做的細節,然後發布了第一個公開測試版。

實際上,當時在動車上的版本,只是簡單粗暴地把圖標放在一個白底上,切成 Material Design 的大小,帶上陰影。

當時就發現這樣有幾個(很常見的)情況沒考慮到:原始圖標本來就撐很滿,切了很難看;原始圖標不一定是白邊,所以四角可能露出來我加上的白底。事實上也有人這麼吐槽了。

作為一個設計類專業的畢業生(哦,那時候還沒畢業),肯定還是有點審美的對不對。於是第二天下班那之後,繼續折騰。想到可以通過 Canvas,取原始圖標的邊緣像素進行擴展。於是正式版,「智能填充」橫空出世。

於是,Materialize(靚曬)就成為了我的第一個破千用戶的應用(顯然現在已經不止這個數量級了)。

學到了啥?主要是把 Android 的 Drawable 和 Canvas 玩出翔了。


文筆不好~當成碎碎念看吧。


我是一名輸入法獨立開發者,我開發的作品叫歲寒輸入法,從10年至今前後經歷大約4個大版本(安卓3個,ios1個)。所有的輸入法程序幾乎都是我一人獨立開發的,只有其中的安卓2版本一位大學的師妹幫我寫了一部分代碼。

----------版本演進過程----------

我所指的大版本是指版本與版本之間的輸入方案或者平台存在極大修改或調整,甚至可以算是完全不同的輸入法。
這四個版本的樣子如下:
安卓第一版

這個版本的構想是以手寫字根的方式輸入字根,其基本架構是五筆。顯而易見的,這個版本無人問津,以失敗告終。

安卓第二個版本

這個版本是以滑行輸入筆畫,再由筆畫構成字根,其架構也是五筆。話說當時我還以這個版本獲得了學院創新比賽的第一名,拿到了1200塊錢獎金,也是我學習編程以來的第一份收入。但是呢,這個版本依然是失敗的。

安卓的第三版
第三版的維護周期最長,至今已有五六年左右了,它最開始是長這樣的

經過相當長時間的演化,它現在長這樣

這個版本推翻以前兩個版本的做法,不再以五筆為架構,而是轉向了拼音滑行。從目前的情況來看,這個版本是比較成功的,甚至可以說是當下最高效的中文滑行輸入方案。這個版本花費我最多的心血,也成為了我的一份驕傲,如今在酷安是已有將近十萬的下載量。

ios版本

ios版和安卓第三版本質上是一樣的,但是在安卓第三版出來之後很久才推出來的,推出時間是17年1月份。這已經是我開始開發輸入法之後的第七年。

有時候搜一下歲寒輸入法,可以看見三代同堂,內心竟是五味雜陳。

-----------開發心得---------------

開發一個app容易,但是要開發一個好用的app難,而要開發一個好用的輸入法app則是難上加難。這其間需要不斷地學習,不停地試錯和不懈地堅持。既經歷了幾次代碼的徹底推翻重構,也經歷了技術和開發環境上的轉移(從eclipse到andoid studio,xamarin studio,從java到C#),既經歷了多次輸入方案上的變革,也經歷了無數次堅持還是放棄之間的糾結。

獨立開發一款輸入法需要學習的東西很多,需要解決的困難也很多。從編碼方案到輸入規則,再到編程實現和維護更新,每一樣都要細心考究。規則要易學,輸入要高效,使用要方便,功能要強大。思考,學習,實踐,修正,再思考,再學習,再實踐,再修正……循環往複。很多時候不可能一步到位,只能不停地迭代,直到找到一個比較令人滿意的解決方案。而對於個人而言,某些功能的技術難度已經可望而不可即,但也只能儘力做到最好。

而更糟糕的還是眾口難調。有的人喜歡小而美,有的人喜歡大而全,有的人會說你的輸入法令人驚艷,有的人則會冷冰冰地告訴你,放棄吧,這種小眾輸入法沒有前途的。

有時候會讓人覺得難以為繼,但想一想一路上不斷鼓勵自己和幫助自己的人,我沒有理由不繼續堅持。

----------感謝支持我的人們----------

感謝鍾長平,他幫我建立了歲寒輸入法的交流群

感謝roger,他設計了許多歲寒輸入法的主題和宣傳視頻。

歲寒輸入法宣傳視頻:http://www.bilibili.com/video/av9290727

感謝小烯耀,他設計了歲寒輸入法的宣傳圖

感謝小獵豹,他給歲寒輸入法做了一個官網http://suihaninput.sxl.cn

感謝所有給與我支持的人們。所謂得道多助失道寡助,是你們讓我相信,我所選擇的道路是正確的,我的付出,有價值。

最後還要感謝我的妻子,在我的身邊人當中,她是唯一一個歲寒輸入法用戶。

如果你想理解更多歲寒輸入法的信息,可以閱讀我在少數派上的文章:我是如何開發歲寒輸入法的:滑行輸入的探索之路丨Matrix 精選https://sspai.com/post/37642


來來來,這個我要說

先說一下,我不是專業前端開發,也不是專業移動端開發,我就是個90後後端小碼農


到目前為止我自己一共上線了兩款ios的APP,如下圖:

請忽略醜醜的外觀,我們程序員要講內在美的

第一款app【預言家】是16年5月初開始做,6月初開發完成,7月上線。主要利用了平時工作外的空閑時間。

我那時候覺得下班之後好空虛,遊戲打不動了,電影也沒感興趣,當時我在一家創業公司,平時看過同事用swift寫的app,於是我就決定自己寫一個app,在什麼都不會的情況下,我從零開始學swift。

我一直認為致富捷徑都已經被寫進刑法了,我等p民實在是沒有什麼好的idea,在絞盡腦汁思考好幾天犧牲無數腦細胞之後,覺得黃賭毒中能打擦邊球的只剩賭了。

聰明的人一定知道我想幹嘛了

我當時主要計劃包括三個:彩票,股票,期貨。

打算做一個推薦軟體來騙錢,所謂全國每人給我幾塊錢,我也能上福布斯的想法,當時我的內心是激動不已的,彷彿看見人民幣們在向我揮手,過幾年就能和馬雲一起吃飯了。

然鵝,我是一個人,我要賺錢糊口,每天被老闆壓榨之後沒什麼太多時間了,app的前後端都需要維護,怎麼辦?

然後我的腦子裡誕生了一個goodidea,讓程序自己完成。我簡直被自己的機制折服

最終我敲定的app功能包括:雙色球、大樂透、股票以及用戶反饋。附帶了一個互動功能。

其中雙色球和大樂透包含歷史開獎以及分析推薦功能

歷史開獎好說,我寫好程序後端每天定時從360彩票里把數據扒下來,並且將歷史開獎全部存入資料庫

推薦分析就比較蛋疼了,因為我是個彩票門外漢,我這輩子得過的最大獎就是機選雙色球中了200(這個運氣應該比大部分人要好了)

最後我採用了很多人用來玩彩票的大數法則,並且讓演算法的參數根據第二天真實開獎結果微調,嘗試性提高準確率(其實根本不會有用),具體包括了哪些方面我就不說了,反正彩票推薦都是騙人的就不會錯了。

然後是股票的推薦功能,同樣是通過後端定時功能到同花順、新浪以及雅虎抓取股票的實時數據、歷史數據以及大宗交易數據。

最後根據我平時自己選股的想法寫了一套演算法,同樣的,演算法的參數根據之後推薦股票的股價變化來自動微調,後來實際使用中我發現大宗交易對股價影響比較大,就特別提高了大宗交易對推薦值的影響。

推薦最成功的一個股票在推薦之後從10塊多到40多,具體什麼我給忘了,反正我沒買,推薦失敗的也有十幾塊跌倒幾塊的,還好我也沒買。


後來我也考慮到我沒有能力做app推廣,畢竟我是單人部隊,如果真有人在茫茫app store中發現了我的app,進去發現沒有用戶怎麼辦

於是我又給後端做了機器人功能,機器人會自動點贊以及自動評論,每隔隨機時間(1~3分鐘)自動為推薦的股票點贊以及評論

如果每個股票都點贊和評論數量都一樣,那看起來太不真實了,所以我又利用每條數據在資料庫中的主鍵做種子,確保每條數據點贊數和反對數上限是種子值的幾分之一

評論內容則隨機從同花順的股吧中抓取那些比較短的評論內容來充數,因為短的評論一般都是萬金油式的評論


最後一個互動功能,我本來希望做到自動從別的地方抓取內容發互動以及實現自動評論的,最後因為當時在的公司放風要分期權,太興奮,乾脆不做了,原本計劃的會員內購也不要了,就這麼上線吧。

心裡想著:老子拿期權,要這個app作甚,就當做雷鋒吧。以後就是成功人士,迎娶白富美,走向人生巔峰了。

之後在阿里雲上買了個乞丐版的ecs和mysql資料庫以及一個cdn用來存放註冊用戶的頭像和互動中圖片,還弄了個域名,我記得花了好幾千,那個肉痛的。

最終後端的整個流程完全沒有人參與以及維護,我唯一要做的就是保障後端的穩定性,不會掛掉,自己開發自己測試,總擔心會有什麼驚天大bug。

事實讓朕深感欣慰,從16年6月後端在阿里雲上部署直到第二個app上線,期間一年的時間後端沒有掛掉一次。


這個app最終我統計,直到17年6月,第二個app上線之前,註冊用戶54個,活躍用戶5個(最近一周有過登錄的)

-------


然後就來說說第二個app【預言家-金幣奪寶】吧。原本並沒有打算上第二個app的,而是第一個app的升級。17年5月初開始做,5月底開發完成,6月中旬上線

第二個app看名字,想必同志們都猜到了是一元奪寶山寨版,且讓我為你們娓娓道來


去年年底,我哭著對老闆說,期權都是騙人的,於是離職來到了現在的傳統軟體公司,我已經對創業暴富失望了,看來我和馬雲除了長得類似沒有其他相同點,決定安心當一個小碼農,平時買買彩票,沒事看看電影。

之前第一個app我都會偶爾去後端看看有沒有異常日誌,畢竟是自己的娃,然後有天我去看資料庫數據的時候發現有一條反饋:一年沒更新過,作者是不是死掉了。

我才想起來,一年了,我居然從沒更新過任何功能,於是對第一個app進行大升級的想法從我的腦袋裡冒了出來,我要對得起我那50多個用戶,雖然我沒從他們的錢包里賺到一毛錢。


於是我就開始對第一個app進行大刀闊斧的改變,然後我就發現egg pain的事情了。

打算復用第一個app的代碼進行適當的功能增改,結果我居然自己都看不太懂代碼邏輯了,除了當初封裝的一些控制項以及網路部分還能用,其他部分我自己都覺得寫得太爛沒價值

然後按照我職業生涯的一貫作風,重構項目。

既然已經決定重構項目,那就隨便改吧

彩票不要了,我到現在都沒中過,一定是假的,不要了,特別是大樂透,十塊錢都不給

股票留著吧,雖然我只是小賺了一點,不過不能再讓它扛大旗了,不盈利的項目我們要放棄

最近好像一元奪寶比較火,把這個功能加進去,讓我們騙子的道路上越走越遠吧

還有上個版本的互動基本沒用,要加強,我比較喜歡看笑話,就用來發笑話


最終新版app功能:奪寶,競猜,互動,股票

奪寶和競猜需要商品,於是我上樂視商城和小米商城截圖收集了幾十件商品,每天從這些商品中隨機選出一些參與奪寶和競猜,如果用戶中獎了我就自己買給他們寄過去(這點最後會補充說下)

互動需要有人發帖,而我的app剛上線是不會有用戶發帖的,然後我又發揮了抄襲到底的精髓,從各個搞笑網站中抓取中短篇搞笑文然後由後端機器人自動發帖,抓取以及發帖的時間都是隨機的,我設置理論上每小時發帖0.3個

點贊和互動的演算法沿用了第一個app中的演算法,做了一些優化而已

股票因為雅虎好像賣掉了,原本的演算法出現了數據缺失造成參數自動調整失效,最後我也不願意尋找替換的數據源或琢磨個新的演算法,就沿襲了這個第一個app中的演算法


至於為什麼app中主要都是樂視的產品,這裡是彩蛋:某一天,我自己的股票演算法給我推薦了樂視網,我看了下k線,我真是太喜歡了,就你了,比卡丘,於是我果斷重倉買入,然後這貨就停牌。。。。快三個月了。。。。我覺得為了我套在裡面的錢我也要支持一下樂視,支持一下老賈


然後巴拉巴拉的開發完成,過程就不細說了,寫作文我也湊夠800字了,然後測試提交等待審核。

審核結果就是這樣的

我當時覺得一定是我欠了庫克的很多錢,所以他才這麼照顧我的

【搞笑圖】


然後只能不斷修改不斷重新提交,最後我發現,因為我新版app和老版app功能相差太大了,審核根本不讓過(審核內心:以前是騙錢的,現在怎麼變賭博了,不行不行),沒辦法,只能新建一個app提交,然後一次性通過

最後因為app完全變成新的了,正好我打算洗心革面,所以後端我也重新拉了分支,資料庫也分開了,也就是兩個app之間連用戶也沒有共用,完全獨立了


----我是分割線----


至於用戶中獎

首先奪寶和競猜在用戶不足的情況下,參與人數會低的可憐,而且肯定沒辦法開獎,開獎了我就虧錢了,雷鋒也不是這麼當的

所以我在後端設置了一大幫機器人,一共大概有一千五百多個吧。。。。。。。要知道第一個app中,我只設置了十幾個機器人,還是只能點贊和隨機評論


因為之前寫的機器人感覺真的太好用了,多虧了他們營造了一片興興向榮的氣息,我基本用他們幹什麼都可以,所以這代機器人我做了全面升級

他們會去其他論壇給自己找昵稱,找頭像,我只要寫好昵稱和頭像的抓取演算法就可以

他們會去其他論壇找帖子,找回復,我只要寫好帖子和回復的抓取演算法就可以

他們會自動的給商品或者互動內容點贊,這個工作他們早就學會了

其中一個機器人我還給他升級為了管理員。。。。約束其他機器人的行為,管理奪寶和競猜的商品,然後用阿里雲的簡訊向我彙報


所以實際上當用戶數量不多的情況下,比如一個用戶都還沒有的時候,會有800個機器人被喚醒幹活並由管理員統一協調工種(發帖,點贊,奪寶,競猜,回復)

每有一個真實用戶上線管理員就會將一個機器人調入睡眠,下線之後又會隨機喚醒一個機器人。


到這裡大家都應該明白,奪寶和競猜商品中的很多下單都是機器人做的,最終商品開獎如果是機器人得到商品,那麼我什麼都不用干

如果是用戶中獎,那我只能割肉了,所以為了不至於破產,我大部分商品都是2千元以內,每天最多24件商品,最高也不會超過5千,這樣都會破產只能是天要亡我


金幣不能內購之後,只能通過發帖以及互動回帖來獲取,也就是本來我想賺錢的想法最後還是沒有實現。。。。

所以我現在還在想,既然我賺不到錢,但是真實用戶遲早會有中獎的,我是已經窮傻了嗎。。。。


更新兩張Google play里的截圖,累計下載已超過一百萬次

先說我做的APP,名字叫電腦遙控器,從11年開始一直做到現在,有android,iOS,windows phone(這版已暫停更新)三個版本。

動機:

11年正是智能手機迅速發展的時候,我是一個遊戲愛好者,但一直玩的都是主機+PC端的遊戲,對手機遊戲不感冒,因為我是畫面黨,11年手機遊戲能達到的畫面根本讓我提不起興趣,但是手機遊戲的玩法卻別有新意,例如用重力感應操控賽車的方向,這種玩法是PC上做不到的,於是就想為何不能將手機遊戲的玩法引入PC遊戲?即用手機的重力感應來操控PC上的賽車遊戲?

實現:

經過一段時間的研究,發現獲取手機的重力加速度感測器的數據,並發送給電腦很容易,都有現成的API可以調用,難就難在怎麼將這些數據傳給PC上的遊戲。PC遊戲的操控方式無非是鍵盤和手柄,鍵盤顯然不符合條件,因為重力感應是線性數據,而鍵盤只有按下和抬起兩種狀態,只有通過模擬手柄的搖桿來操控遊戲中的方向盤,可是這就涉及到驅動的開發,我當時只有win32應用層程序的開發經驗,驅動沒有涉及過,但是功夫只怕有心人,再加上工作不忙,經過幾個月的折騰終於讓我給弄出來了,這下已經沒有什麼壁壘,android初版很快就完成了。

起名:

既然已經做出了初版,接下來就要給這個app起個名字了,一定要酷炫狂拽吊炸天,當時微軟出了一款xbox上的體感器叫kinect,我就給我的app創造了一個單詞monect(mobile-connect),這個單詞的com和net域名當即都被我註冊了,後來才發現還不如直接叫電腦遙控器更直接,被用戶搜索到的概率更大。

這是初版的樣子,UI設計都是我自己PS的,當時的審美真是。。。

上架:

谷歌市場註冊費好像45刀,永久有效,付費app提成30%。但是剛上架時根本沒人下載,每天的下載量只有幾十次,收費版的更是無人問津,才知道相對於開發的工作,推廣也是很重要的。

推廣:

當時首先想到的就是拍一個宣傳視頻,於是自己硬著頭皮上,發現一點不比寫代碼簡單,感興趣的可以去看看:手機體感新玩法,電腦體感遙控器monect

論壇發帖,國內的論壇基本都發了一遍,但是很快就被當作廣告貼刪除了,試著去xda-developer發帖看看,抱著不被刪除就是萬幸的想法,地址如下:

[App][2.2+]Monect Motion Sensing remote controller

可是戲劇性的一幕發生了,xda的編輯竟然回復了我的帖子,並專門寫了一篇報道放在了首頁!!!

地址:Control Your Computer from Your Mobile with Monect

當天的下載量一下衝到了3K多,就是下圖的這個尖刺:

可是好景不長,幾天後又跌到了每天100多個下載,還是靜下心來打磨產品吧,仔細思考了手機和電腦的聯動能有些什麼玩法,接下來的時間裡又陸續開發了一些其他的功能:

1,控制部分,包括模擬電腦的手柄,滑鼠鍵盤等外設

2,屏幕傳輸,電腦傳屏給手機,手機傳屏到電腦

3,文件管理,手機上管理電腦文件,電腦上管理手機文件

4,用手機控制電腦上的PPT

還有iOS,windows phone版本的開發,用戶量持續增加。

除了xda以外,一些國外媒體如CNET,otterbox,TG Daily也對monect有一些報導,youtube上有幾百個玩家自己製作的相關視頻,國內的反而不多。

從firebase的後台來看巴西和印度是用戶最多的兩個國家,遺憾的是國內的用戶數只能排在第9位。

目前能夠穩定在google play每天4K的下載量,日活在20K左右,

從用戶設備上來看小米手機佔了前3,作為一個米粉感到很欣慰,一定程度上說明小米出海還是比較成功的

收穫:

金錢方面主要來自廣告和應用內購買,以及相關的外包開發,技術方面讓我學到了很多,但最主要的是學會了從市場和產品的角度去寫代碼,技術只是載體不是全部。


辛苦,同時開心著。

第一個版本上線之前,需要比較良好的心態。
獨立開發意味著人手不足,意味著工期拉長。因為如此,朋友的開發計劃讓我看的話,我都是說,第一個版本只上最核心功能以及必要功能。因為工期拉長非常容易影響心態,容易想太多。另外一個是不要進入亢奮狀態,合適的開發節奏非常重要,從亢奮狀態下來後一般情況下會歇『一陣』,但實際上你根本不知道這個『一陣』會是多長的時間。我一朋友花了1年+的時間也沒回到比較好的狀態,唉……
上線之後就好多了,用戶會有反饋(有好有差),只要有反饋就可以對你的心態產生正面影響(第一版本工期拉長會對心態產生負面影響的最大原因就是沒有他人的反饋)。後續的小版本升級的工作量不會太大,因此對比1.0的時候會好很多。
但是大版本升級又將是一個考驗的過程,有可能是UI的大改,有可能是大功能的增加,這意味著可能有大量代碼被刪除,以及肯定的大量的新代碼。這時就跟開發1.0的時候有點類似,但也好很多。在刪除代碼的時候一定不要手軟,要堅決的刪除!

整個開發過程中的效率會高得讓人感動,畢竟前後端都是自己搞,絕對的零溝通成本,客戶端想要什麼,服務端就給什麼,一個位元組都不帶浪費的!

由於我不會做圖標設計,也就還需要專業的設計師的協助(就是這個讓我不敢自稱全棧)。不知道如果這個也能自己搞是有多爽。
把專業的事情交給專業的人做,想通了這一點,也就不再糾結自己是不是要學點圖形處理軟體了。

總體來說是很棒的體驗,比當螺絲釘的感覺好多了!


剛發現二十一點睡前故事前幾天被App Store推薦了(雖然已經一年多沒更新過了),顏文字也被推薦過,成就達成

兩三年前上線過兩個App:顏文字輸入法、二十一點睡前故事和一個技術開發社區(前端亂燉)。用戶量級都不低,相信不少人應該用過,用戶多起來之後成就感滿滿。開發的過程中,真全棧,所有事情都是一個人搞定,前端服務端客戶端,設計產品運營推廣合作,真的挺鍛煉人的,不過其實和大事業比起來還是停留在比較草根的階段,長期停留在這種狀態視野會打不開。
每天下班後都搞設計和編碼到後半夜,一天一迭代,一個是問題比較多,二是用戶反饋多,很多需要優化的點,這個過程真的挺累的,但是也很充實。(特別是顏文字那個app,在賣出之前一年時間基本沒有晚上和周末,一直在迭代,後來賣掉之後真的是生活突然閑下來了)

已經好久沒有業餘開發點什麼了,有點想念那個時代。
關於獨立開發的事情,我的專欄里有一些相關的文章,可以去翻翻。


App名字不方便說,抱歉了。
真正賺大錢的個人開發者,不會在知乎上來說體驗的。我也只是賺了點小錢,跟大神比,簡直九牛一毛。我說的,也只是個人總結的一點點方法論。
還記得10年到12年那會兒,CocoaChina論壇上好多大神曬銷售報表,日入上千美金的都很多。

———分割線———

買了套房子

1、奔著賺錢去做,別做著玩;
2、聚焦於一個剛性需求,做小而精的;
3、不要去創造新玩法,專註於解決真實需求,創新讓別人公司去做;
4、名字簡單粗暴為好,讓人一看就知道是什麼用途,不要取一些中二的名字;
5、結合本職工作,即使沒賺錢,積累的經驗也要能用在加薪跳槽上。


具體的體驗就是,一個人就是一個團隊啊。

  1. 產品經理(前期產品的需求分析)
  2. UI設計師(要自己去找圖標素材設計界面)
  3. 開發(代碼架構自己定,具體實現自己寫)
  4. 測試(開發完自己測試)
  5. 運營(這個我就做不來了,畢竟自己做著玩)

可以看到,基本上一個APP從0到1.0版本的過程你都可以熟悉一遍了,對初級中級工程師來說也是受益良多。

最後附上我的個人作品:

  • 452MJ/C9MJ:個人練手項目(新聞 + 視頻直播): 基於 MVP + Glide + Retrofit + RxJava2.0 + butterknife 的C9MJ TV (鬥魚douyu/熊貓panda/戰旗zhanqi/虎牙huya/龍珠longhzu/全民quanmin/網易cc/火貓huomao + 英雄聯盟LOL/守望先鋒OW/DOTA2/爐石傳說hs/CSGO)App。ps:只有觀看熊貓Panda TV才有彈幕(bullet/barrage/danmu)播放功能。

  • 452MJ/Mtime-React-Native:用React-Native實現時光網APP

The End.


(多圖預警)首先,你要有一個好的想法,並且你所開發的這個App是自己最需要的。

假如自己都不願意用,憑什麼別人會喜歡?

第二,獨立開發App牽涉的東西太多了,UI界面,後台資料庫,邏輯,用戶崩潰日誌分析,運營,迭代開發。----最坑的是適配低版本,雖然Apk的體積已經很努力的控制在10M了,但是還是有很多用戶不願意升級,所以有一些Bug也修復不了。。。你既是開發也是測試,這鍋自己背。

第三,上線的之後,下載量,用戶量蹭蹭的上去的時候很有成就感。哪怕沒有任何經濟收益,但是應用商店上滿滿的好評也會成為繼續開發的動力。


獨立開發除了自由之外,最大的收穫是你可以接觸到更廣的領域,也不僅僅是客戶端,而且因為要一直迭代開發,所以要不停的修改框架,在這過程中也會收穫良多。當你把項目開元到Github上時,也是找工作的重要籌碼。


最後呢~打個小廣告~有喜歡音樂的小夥伴可以下載這個Apk試試~

今天考試完了,可以開始繼續迭代了。


多圖預警雖然圖不大。

一名很菜的獨立開發者,目前上架Android懸浮球軟體Flow
[Flow2](http://www.coolapk.com/apk/com.drediki.flow20)
還有它的前代
[Flow](http://www.coolapk.com/apk/com.drediki.flow)
計劃寫完英語翻譯後上架play商店
人很菜,軟體也挺菜的
我可以吐槽自己寫的程序半年,包括學習成本高,穩定性差,諸多不兼容...
但這裡是講開發體驗啊,而且,這個軟體是為我自己而寫的.(′?ω?`)

在高一的時候,由iOS陣營轉到Android陣營,於是開始了Android開發的學習。

大概是高二上學期吧,我換了新手機,屏幕尺寸由4.3寸變成了5.5寸,手並不能完全地掌控手機了,有一天突然想起來,這麼單手拿手機的時候,可操控的範圍會大一點,

但是結果就是夠不到home鍵了

突然靈機一動:我做個懸浮球不就解決了?

這就是我做這個app的原因。(? ω ?)

而這個時間,Android剛好發布了Android 5.0,帶來了Material Design,看到這設計這動畫炫酷啊,跟Android4.X時代的設計完全不是一個層次,看這界面,這不就是我心目中的懸浮球嘛?時尚時尚最時尚,跳舞肯定胖!

雖然並非完全採用Material Design(當時對設計理念沒有仔細研究),所以軟體採用了一種風格類似Material Design的設計(雖然違反了一些設計原則)

這就是設計靈感的來源。( ω )

開發過程不再贅述,因為自己菜,所以整天百度(當時還不知道秘技-看官方文檔),找自己需要的實現,代碼也大量使用了開源項目、抄來的代碼,也沒有按什麼語言規範,沒有參考什麼設計模式。關鍵是,代碼還很亂,以後再看就不忍直視了。不過開發過程中,也有用自己的代碼解決的問題,雖然也有時熬很晚(對於那時的自己來說), 但是解決了就很開心啊~


還記得那已是12月,快要期末考試的時候(似乎自己做東西的慾望都是快期末時(* ̄3 ̄)╭)

寫作業上課以外,在兩周內寫完了第一版軟體。

寫完之後發現用起來感覺不錯啊,而且是完整的軟體,不是一些實驗品或奇奇怪怪的東西,這是我開發過的第二個獨立的有功能的App(第一個是高一剛開始入Android時做的校園App,截至現在竟然還能用(因為校園官網一直沒改版))。

於是我就考慮發布給大家使用,能賺點錢最好( $ _ $ ),

於是加入了積分牆加入了廣告,

當時還挺自豪廣告和手機QQ空間里嵌入的那種那樣,融合的廣告。

豌豆莢啥的發布後下載量基本為0(沒有推薦位沒有廣告位)

於是在當時抱著試一試的心理,在酷市場發現頻道@ 了酷安小編,結果第二天竟然在酷市場上架了,朋友告訴我,我的軟體還上了當天的少數派一個新軟推薦,

看到酷市場的下載量唰唰得增加,我高興得都上天了

酷市場小編點評

Flow這款懸浮按鈕加手勢用起來還是相當強大的,定製性很強,雖然設置界面里各種廣告,不過可以忍@ 酷安小編

除了很多覺得不錯的評論外,也有很多吐槽廣告的,當年有廣告的截圖這裡就不貼了,(因為找不到現有的圖了,以後補),現在看真的是丑。市場中的1分也基本是這時候給的。

更重要的是,因為那些廣告雖然看著礙眼但一點也不容易誤觸,所以廣告的收入是0。

所以第二版就完全刪掉了積分牆外的廣告。

順便吐槽酷安小編基本不重新點評、更新截圖,從第二版以後,帶廣告的app截圖一直掛了很久

軟體雖然分了高級功能,但基礎功能還是比較良心的,之後更新的新功能也都是不需要解鎖的

當時軟體的高級功能是分為積分牆和購買的,積分牆好像是下載兩三個軟體左右,購買的話是5元錢,實際情況看還是用積分牆解鎖的多一些。

1.x版最後一次主更新是1.4版,是在高二下學期快要期末的時候,寫了一封給用戶的表白信,這時候家裡的電腦已經變成隨電腦心情開機的程度了(主板出問題)

此版本開始關閉積分牆入口,免費解鎖高級功能的方式改為給作者高考點贊,為16年高考攢人品,購買字樣改為捐贈,順便開發微店半自動發貨app,方便高三時接受為數不多的捐贈。

(後續,高考還算順利,不過高考後點贊功能沒關,截至17.7.7已經有9k贊了,就當是為學弟學妹祝福了)

最後,Flow大約給我帶來了約800元的收入,這是我除了小學給人改裝玩具、借抄作業外掙到的第一筆錢,也是開發給我帶來的第一筆收入(至今還沒第二筆),感謝所有捐贈和容忍積分牆的夥伴

(軟體現在還在,只是捐贈幾乎沒有可以不計(完全沒有要捐贈的意思= ̄ω ̄=))

還認識了很多朋友,包括提供很多建議的朋友,還有無償提供英文翻譯的朋友(1代時用的是機翻)

未完待續,總結呢,就是獨立開發App。

很自由,很開心,還能自行解決很多需要。

比如自己寫了個課程表已經用了一個學期

(因為沒做完就沒發布)

看在深夜寫答案還在過程中被蚊子咬腿三口還沒法復仇的情況下,給個贊咯b( ̄▽ ̄)d

/(ㄒoㄒ)/~~有空去買瓶花露水。


來來來,本人學土木工程的,非專業程序員。

不過我就沒有開發過APP嗎?

先高能預警。。。我一個人開發了安卓APP,iOS版本APP,和一個web端。

我先從頭開始講怎麼誤入開發的這個坑的。。。。(這篇文章主要講述的不是我的體驗,而是我的經歷。若被朋友發現,請為我的身份保密。本文禁止隨便轉載,轉載請註明出處)

註:目前我做的這個基本上已經死了,基本上沒有在市場上存活,連第三方的app商城都沒有上傳上去。不喜誤看

在某冬天,一哥們給我說,想搞一個大的,什麼什麼智能產品,我嘲笑他,你什麼都不會,你 一個汽車服務專業的,你有什麼魄力搞這個?他說他想做一系列產品,想做樂視那樣子的生態產品。


當時我不以為然,覺得這個想法很可笑,的確現在覺得也比較搞笑。一個月後,他在學校裡面申請了一間教室,作為辦公室。他再次找到我,說我不懂代碼可以學啊。

談了一天,我迷迷糊糊上了他這條破船,做一個生態鏈的產品最重要的就是需要大量的用戶,首先做的產品就是打通用戶。目前首先定位共享經濟,打算做一個廢品回收的平台。對,你沒有看錯。目前市面上有**大叔,**哥等產品。我們做的只是一個平台,就像是滴滴一樣,一個信息分享的平台。

好了,目標定位好了,然後再討論一個軟體怎麼設計,打開app首先播放一段關於回收的視頻,然後出現一個卡通人物,兩隻手,一個用戶方,一個回收方。使用者點擊那個就進入不同的登陸界面。然後使用界面那些都說了一堆,當時我是反對的,他還堂堂正正的給我說,你這些沒有你怎麼做app啊?

好了,他讓我負責技術,我一個光桿司令。他負責市場,負責推廣那些。

當時我還不懂什麼是伺服器,什麼是資料庫,什麼是java,什麼是http,什麼是......

(圖片來源於網路,侵刪。圖片隨便找的,水印沒有去)

最牛逼的是,給我的時間只有兩個月。

你沒有聽錯,時間只有兩個月。
兩個月能幹什麼呢?就是把APP做出來了啊!安卓,iOS都要做,還有一個微信公眾號,做一個web端。

剛開始百度做APP,什麼應用公*,什麼*** ,我都試用過,一個光APP有什麼用?連資料庫都沒有。
然後就想開始學JAVA,swift這兩門語言。

學習,學習代碼使我快樂。什麼環境配置我一竅不通,看都看球不懂。突然覺得代碼好特么難。

功夫不負有心人,一個月後,我沒有什麼進度。

另一哥們看到我在擼代碼,就和我聊起來了。他自學的PHP(他的公司已經天使投資了500萬)。

他告訴了我,要涉及到伺服器,MySQL資料庫等等,非常複雜,我把JAVA學了還要學安卓。突然覺得道路任重道遠。
談到最後,告訴了我可以一個月之內做出這個APP的秘籍。

這個看起來挺牛逼的。

這個不就是開發一個H5頁面,然後通過APP的瀏覽器訪問嗎?開發一次,安卓,iOS,微信通吃,哈哈哈。

雄赳赳氣昂昂,踏上了開發者的道路。
首先就是用這個工具寫了個hello world。當然是跟著教程走的。

OK,四天不到,全部看完了,然而我只看懂了記賬本案例。
沒關係,直接進行開發。
我自己的目標就是先做功能。記賬本案例是可以將用戶填寫數據寫入資料庫,查看,修改。我的需求就是用戶填寫下單信息,回收者查看下單信息,回收用戶點擊接單就是改一下資料庫裡面數據罷了。誒,我有一個大膽想法。

說干就干。
一周後,APP出爐。
來幾張截圖給各位大佬看看。APP裡面圖片素材全部都是網上找的。

這是用戶端,回收端也差不多。我就不發了。

後來我交差後,他拿去推廣。一個月後他告訴我,沒有錢,推廣不下去,沒有人用。
說多了都是淚(′△`)。

我伺服器自己掏的腰包我還沒有說什麼。
你居然告訴我你特么不幹了。

自己獨立開發的這個APP是一個失敗作品

說多了都是淚。

現在手上有安卓版本,web版本,iOS版本。就是沒有人用。唉。

這個體驗真的糟糕。我一個搞土木的,學會了MySQL資料庫,學了後端,學了HTML5,js,特么就為了自己開發的這個APP,算了,以後我不獨立開發APP了。

土木不好混的話我想跳槽到IT公司,有沒有什麼IT公司通過這個知乎看上我的啊?


———————慢更中,最近忙———

由於有人在評論區求教程,特此說明一下

避免廣告嫌疑,正文中抹去開發工具的名稱

我使用的是wex5,你們百度一下就可以了。這個完全是採用h5開發。能開發安卓APP,iOSAPP,web APP 。不過你得會JavaScript。

有人在求教程,其實我就是看的官方的開發者文檔。各位去官方裡面找找吧!


因為代碼潔癖和強迫症,導致寫的 App 遲遲不能上線。


更新:大家好像對我和這個妹子的事比較感興趣,那我就放上我失敗的經歷供大家一樂吧:

你遇到過最難追的女生是怎樣的?你為她做出過怎樣的舉動? - 知乎

你會在什麼情況下放棄你追求了很久的女生? - 知乎

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

原答案:

這個問題我可以回答。雖然現在成為了一名光榮的搬磚博士生,生活不免枯燥了許多。然而我在大學時候可是相當活躍的!當時(2010-2014)正是移動APP大火的時候,我幸運地趕上了那一波熱潮。

背景

模仿各大廠商的命名法,我組建了一個自己的「工作室」,名字叫做「樞軸工作室」(Pivot Studio)。這個名字可能有點拗口,它來自於當時非常流行的微軟Windows Phone操作系統的一種無限延展的控制項(Pivot Control)。我是微軟鐵粉!為啥不做iOS?沒錢買電腦!否則我也想讓自己東西流行起來給別人用啊!為啥不做Android?別逗了,當時的Android簡直不能直視好么!我們的地址是(我的個人域名剛不能訪問了,要求在騰訊上再備案一次,醉):歡迎來到樞軸工作室

工作室加上我一共5個人:3男2女。我們在半年的時間一起做了5~6款應用,全部都是Windows Phone上的。我們3個男生自己到處學習,既做前端又做後台,當時的情景很是美好。就是年輕!微軟曾經舉辦過2次編程馬拉松大賽,我們也去了,非常不錯的體驗!就是年輕就是敢拼!後來為了參加一個比賽,用cocos 2d做了一個iOS上的2D射擊小遊戲。(要感謝我們當時的輔導員慷慨解囊給我們提供蘋果電腦!)依靠這些不成熟的學生作品,我們也拿到了很多獎項。對別人有沒有用我不敢說,總之我是靠這些獎項讓自己的簡歷著實豐富了起來。

後來到了大三,該出國的出國,該考研的考研,工作室已經名存實亡。那2個女生里,有一個是我喜歡的。然而她出國了。也就沒了以後。最要命的是她走了我才發現我喜歡她!大三暑假小學期有一門實踐課,要求做一個軟體出來。我就又把我們的東西撿了起來。這時候只有我一個人了。

名字與Logo

那時候我仍然喜歡著她。這個應用叫什麼名字呢?當時她遠在美國,我也很天真,給自己的應用起名叫「天涯海角」,寓意你們猜。做項目得有一個項目代號吧(可以用來在程序文件里當命名前綴),我項目代號是「Atlanta」,因為她當時就在這個城市。我給這個應用設計的logo長這個樣子:由兩個逗號組成,象徵著人生慢下來停頓一下。兩個逗號又組成一顆心。

過程

基本就是一個人做唄。因為之前團隊已經有過相關經驗,所以我一個人上手也比較快。伺服器用的webservice+手機端都是我一個人寫,圖片就從網上找免費的。後來就做完了。還順便拿了個獎。把所有的應用都發布到了微軟的應用市場上,然後就徹底不做了。後來微軟WP不斷變化,我們的應用也經常要求重新適配,現在應該下架了吧。就這樣吧。

做一個應用又怎麼樣,還是等不來你。

附部分應用截圖:


compile 『com.github』。。。


強答一發,不知道小程序算不算APP。目前,獨立開發了 8款小程序(以下列出5款)分別是:

  • 城市森林 - 在您的位置種一棵樹,和附近的朋友交流,用每天運動的步數來將樹苗養大。

城市森林-微信小程序二維碼
  • 找表情包 - 這是一款表情包搜索引擎,輸入關鍵詞,即可找到對應的表情包。(可以直接發送給微信好友,長按雲端收藏)

找表情包-微信小程序二維碼
  • 飛碟說視頻 - 我是飛碟說的忠實粉絲,這款小程序集成了飛碟說的所有欄目(飛碟說、飛碟一分鐘、飛碟頭條...)和視頻。同步飛碟說官網數據,直接觀看,沒有廣告。

飛碟說視頻-微信小程序二維碼
  • 肖氏老米線 - 一款重慶本地的連鎖米線訂餐平台,擁有一套商城的完整功能(在線下單,優惠券,積分,獲取附近的門店,超時未接單 自動催單……), 三方平台(管理員端,門店端,客戶端)

肖氏老米線-微信小程序二維碼
  • 車架號VIN查詢 - 輸入車架號即可查詢對應的車型,圖片,綜合評分,詳細配置等相關信息 。

車架號VIN查詢-微信小程序二維碼

以上,從前端到後台,全部一個人完成。很多功能和細節,開發人員要考慮的更多。


拿我喜歡的一個作品 「城市森林」 這款小程序來舉個例子。其中的留言功能,要如何實現?

有兩種方法,分別是:

1、發送消息之後,重新獲取包含最新發送的消息的聊天記錄,再直接返回前端調用。這樣無疑是最省事的,但是每發送一條消息就會執行 一次寫入 再一次讀取多條記錄,會消耗更多的伺服器資源,並且用戶等待載入的時間可能會略微長一點。影響用戶體驗。

2、將聊天記錄存到客戶端,成功發送一條消息之後,返回處理過的單條消息在前端追加。這樣,前端處理起來就會複雜一些。但是會減少伺服器壓力,伺服器響應也會更快。用戶體驗更好。


再拿肖氏老米線這個小程序舉個簡單的栗子:提交訂單頁面可用優惠券抵扣部分金額,比如訂單金額是5元,有一張10元的優惠券,這樣,你不能用這張10元的優惠券,否則抵扣之後 會出現負的訂單金額 這種情況。相隔100公里的朋友要訂餐 不能配送要怎麼辦?用戶拒絕獲取地理位置 無法獲取附近的門店怎麼辦? ......

哪有所謂的成就感可言,不過是生活所迫希望多掙點錢罷了。

然而並沒有掙到什麼錢 (~ 攤手~


獨立開發過幾個Android和iOS的app, 體驗有好的部分也有不好的部分.

說說我自己的一些感受:

  • 編碼自由, git每條分支都是自己的, 經常很久懶得push代碼. 缺點是少了和同事的配合, 對於git的工作流的熟練無益.
  • 可以學到很多東西, 從前端到後台, 從UI到交互, 一個app做下來收貨很大. 缺點是學的比較雜, 精力集中在快速實現功能, 沒有太多時間深挖某一個技術點.
  • 架構自由, 什麼時候不滿意現在的架構了, 隨時推倒重做. 比如Android端從一開始的原生應用, 到後來的通過動態載入類的熱更新, 到現在嵌入前端頁面獲得的熱更新, 可以通過自己應用的更新學到很多.
  • 編碼時有興奮感, 因為是自己想出來的功能, 所以很有實現它的衝勁.

總的來說獨立開發App對我來說體驗是 累並快樂著 : )


獨立開發App的過程中你需要一個人擔任包括產品經理、前端、後台、美化、動畫、市場、運營等一系列角色,這就意味著你同時需要做到對APP的idea的設想,對APP功能的編碼實現,美術設計等等。

聽起來,獨立開發APP是一個非常繁瑣且複雜,同時還需要耗費巨大精力的事情,但實際上,對於開發者們來說,獨立開發APP是一個很愉快,很有成就感的事情。

就拿我最近一年裡開發的算是比較成功的一款APP —— 《文字Emoji》 來舉個例子吧。

文字Emoji是一款文字表情的製作工具。

偶然有一次在刷知乎的時候,TimeLine出現了一個『怎樣製作文字表情』的問題,文字表情大家都知道,實際上就是由一張透明底黑字的Gif圖構成的,這個問題的回答大多是用PS去製作,然後通過電腦版微信發送出去,整個過程其實十分的繁瑣,所以當時就在腦海里設想了一番,在想技術上可不可以實現一鍵生成文字表情,設想了一會,覺得技術上可以實現,於是就開始做了。

花了大約4個小時的時間做出了第一個版本,UI特別簡單,很醜,但是功能已經完全的實現了,只要在文本框裡面輸入相應的文字,就可以一鍵分享到微信。

然後發出去的效果是這樣的

直接立馬變身斗圖王有木有!


做出核心功能以後其實整個人就非常的開心,各種用文字表情懟人,微信重度用戶肯定知道文字表情化解尷尬的能力和懟人的能力,幾天以後,這個App就在知乎和朋友圈子裡面火了,然後不到一個月的時間就有了接近3000的用戶,自己做出的東西有那麼多人用,有很多App Store的好評,自己的作品得到了別人的認可,簡直不要太棒,那種成就感簡直不要太炸裂。

但是這股成就感也會隨著時間慢慢變成一種責任感,就是一種對用戶的負責,特別是引入了付費以後,就覺得用戶花的錢必須物有所值,每一個功能都必須做到最好看,最好用。

所以,就在引入了付費以後的大概十天的時候,我就開始著手更新版本,改掉這個醜陋無比的UI了。


於是就有了下面這個2.0版本的界面

嘗試用了Google的Material Design,但是又沒有充分的貫徹Material Design的設計規範,所以就出了這個不倫不類的界面。

不過引入了字體顏色和陰影字體的功能,也算是做了一點小更新。

然後這個版本就持續了接近兩個月,直到有一天,我發現後台統計的用戶增長的數據有了明顯的下降以後,我總覺得這個事情沒那麼簡單,於是我就嘗試在App Store去搜索了一下同類型的App,發現有一個開發者用了跟我一樣的應用名稱,一樣的應用描述,做了一樣功能的App,說白了就是山寨了我的App,而且那時候文字Emoji收費6元,他就把他山寨的App定價為3元,這樣一來,就對我的銷量起了很大的衝擊。

當時就痛定思痛,覺得自己的App並沒有任何的核心競爭力,出來一款同功能的App以後我的App根本沒有可以體現出優勢的功能可以讓別人只購買我的App而不是他的。

所以就下定決心要把界面做到最好看,讓別人從界面上一看就想用。


於是就有了3.0版本的這個界面

我知道有知友可能會說其實改了也並不好看之類的話,但是實際上這已經是我的審美極限了。

而且我還增加了可以更換字體的功能,界面上的設計也更加的扁平。

這個界面就一直延續到了現在。

你要問我整個過程有什麼體驗?

其實就像是自己有了一個孩子,剛開始就想告訴全天下我當爸爸了,後來就要好好的呵護他,看著他慢慢的長大,慢慢的變帥變漂亮,當有人誇他的時候你也會跟著自豪,他有缺陷了你也要給他改掉。


如果有時間的話,一定要嘗試去自己獨立開發做一款App,享受一下這種『當爸爸』的體驗吧!

附上總用戶數和每日啟動次數截圖:

下載地址:(僅iOS)

舊版本 ¥6:

文字Emoji - 一鍵製作for微信文字表情的最好玩的雲斗圖工具

文字Emoji - 一鍵製作for微信文字表情的最好玩的雲斗圖工具:在 App Store 上的內容

新版本 ¥3:

文字表情 - 一鍵生成最美的文字表情

文字表情 - 一鍵生成最美的文字表情:在 App Store 上的內容


另外如果你想免費體驗APP的話。

可以私信我,我會發一枚兌換碼給你,這樣就可以免費的下載安裝了。

(如鏈接無法打開,請複製App名稱直接搜索即可)


推薦閱讀:

移植 iOS 應用到 Android 上困難嗎?如何實現?
手機桌面如何布置才能既實用又有逼格?
有什麼事情是 iOS 設備能做,而 Android 做不到、做不好的?
iOS 里 App Store 的「Genius 應用軟體推薦」需要付費嗎?
iOS黑有哪些可笑的言論?

TAG:iOS | 軟體 | 獨立開發者 | Android | 微信小程序 |