想開發一款安卓社交類的APP需要有哪些準備?

麻煩回答的人試著從開發這款App的構架,以及每一部分需要哪些知識?需要什麼樣的伺服器?如果這些所有工作都市一個人完成,第一步要做什麼?第二步需要做什麼?第三步需要做什麼?開發過程中先做哪些工作?儘可能詳細。謝謝大神回答。


一個人開發一個安卓社交APP不難,如果是業餘時間,每天下班回家到12點,這樣每天大概4個小時,外加周末每天12個小時,一個月足夠了(有經驗的條件下)~

A.UI設計是否已有?如果有會節約很多時間,沒有你估計還得自己PS一下圖片;

B.對編程是否有經驗?從題主的問題可以看到你對編程估計經驗不足;

社交軟體分很多種,常用的無非附近人,發發圖,拍拍照,修修圖,拍拍視頻;

下面分別介紹下各種技術:Android+後台,Java Servlet,走HTTP,不走Thrift,不走自有協議……

首先,討論Android端:

1. 首要條件是熟悉Java編程,沒有任何計算機基礎的人麻煩,有基礎的人學起來估計很快;

2.其次熟悉Android的開發環境,直接開頭從最簡單不複雜的頁面開發,那麼你需要了解:Activity,Fragment, Service工作機制,以及SharedPreferences、Sqlite、文件存儲等,了解常用界面layout編寫,知道一些界面的兼容,這些東西都知道就夠了,一個簡單APP就可以搞起;

如果能知道一些加密協議,比如:DES/AES,IMEI綁定(社交很容易導向約炮/黃圖等問題,所以得做點措施),MD5等更好;

3.會用到一些Android上的開源組件:圖片載入-ImageLoader,滑動刷新-PullToRefesh/SwipeRefreshLoadLayout,圖片渲染-GpuImage等等,要知道並且會用;

4.一些需要的公共服務:位置定位-百度定位(百度地圖API-首頁)/高德定位(LBS開放平台 | 高德地圖API),推送-百度推送/極光推送等等,數據統計-友盟統計,這些應該夠了;

5.與伺服器交互的協議:HTTP協議的掌握,get/post就夠了,補充:Volley網路請求庫等;

其次,討論後台:

1.由於你是新手,我們這裡開發語言直接用Java/PHP,Java的話就直接Servlet就Ok,簡單容易,上手快,如果PHP就LAMP,個人推薦Java,知道一點HTTP協議;

2.資料庫直接用Mysql,操作起來方便,熟悉的人多問起來快速有人回答;

3.學會SQL的編寫,基本的Select、Update、Insert、Index就夠了,不會Join之類不怕,就多寫幾個語句,性能差不怕,抗住就行,後面再改;

4.資料庫連接用:JDBC,簡單容易上手快;

5.聊天系統可以用第三方的融雲之類,我記得有個日活20W以下不收費的;

6.簡訊系統也可以用第三方的;

7.伺服器就直接用阿里雲,買一台阿里雲,直接跑一個Mysql+Tomcat就行了,後面有用戶了升級再說;

總之,原則就是市面上有的,開源的,最便宜的都可以拿來用。

綜合一下,首要是Java語言,然後知道Android編寫界面,知道Android跟後台HTTP交互,知道Service開發,知道Servlet編寫,知道JDBC操作,等JDBC寫好可以升級知道資料庫連接池(DBCP)。


  1. 首先做費用預算:

    你要找公司開發,不同的APP軟體開發公司,價格是不一樣的。一般都是根據你的APP的需求,再評估這個APP開發的難度和開發工期以及需投入的開發人員的多少去報價的。貴的幾十萬,幾百萬都可能。也有幾萬塊左右的一般都是給你套用事先開發好的APP模板,優點是價格低,但缺點更多,比如APP的穩定性和用戶體驗以及後期的更新維護容易出問題,所以一分價錢一分貨就是了,定製的肯定是比較貴的
  2. 選擇社交APP類型,多了解競品

    社交app現在很多,看你要什麼功能了?據應用商店不完全統計,至少有100款以上。現在中國市場上社交app要想成功,還是要有自己獨特的地方,走差異化定位,作為一個普通用戶,這種聊天應該不會超過三款,因為真的沒必要。

    主要社交APP

    微信,陌陌,比鄰。微信用戶最多,國內基本上人人都用微信;陌陌以約炮工具著稱,13年的時候很火,現在有些冷淡;比鄰是電愛神器。還有其他的遇見,聊聊等等,太多了,同質化嚴重。

    其他的社交APP:

    極簡/即焚社交:snapchat、Blink、呵擦么、FRANKLYCHAT 、YO、flares、emoji

    匿名社交:羞小白、友秘、抱抱、yikyak、秘密、悄悄話、烏鴉、蜂蜜、耳語、ROOMS(FB)

    校園社交:超級課程表、黑白校園、11點11分、超級課程表、Notebowl

    泛陌生人社交:陌陌、微聚、摩擦、遇見、么么噠、skout、Badoo

    校園社交:黑白校園、11點11分、超級課程表、Notebowl

    Tinder類:Tinder、探探、向右、Aloha、約你

    校園社交:黑白校園、11點11分、超級課程表、Notebowl

    視頻社交:秀色、yy視聽、微拍、女生派、9158、網易CC(遊戲+美女直播)

    電話/語音社交:比鄰、語玩、聊聊

    同城約會類社交:美麗約、愛吧、同城秘密搭訕、今日有約、簡簡單單、SAYHI、單身在線、酷聊

    情侶社交:小恩愛、微愛、QQ情侶、戀愛筆記

    遊戲/娛樂社交:碰碰、陌游、LINE PLAY、對面、友加、達答(答題)、煉愛、貝貝

    半嚴肅社交:心跳(興趣匹配)、又又(二度好友)

    婚戀社交:世紀佳緣、珍愛、百合、花田、有緣、心動婚戀

    「附近發生」:Sobrr、咻、biu、FireChat、meetup、MISS、克魯|

    職場/商務/身份社交:LinkedIN、脈脈、會會、朋朋、conspire、名片全能王(加入社交)、優士網、海丁

    垂直社交:車輪、車星人、ZANK、BLUED、GAYPARK、拉拉公園、theL、半次元、次元、juju、、gogobot(旅遊社交)、投友圈、雪球網、fanatix(賽事)、Dr.wine

    彈幕社交:TUTU、槽廠

    圖片/聲音/文字社交:啪啪、NICE、密友圈、逗萌、拍信、一半、我的、TOP、個性網、P1、tumblr、path、Pinterest、INSTAGRAM、frontback、tiiny

    群聊社交:派派、微米、群群、友群

    寵物社交:寵物說、溜溜、聞聞窩

    夜場社交:夜都市、愛夜蒲.局多

    運動社交:咕咚、酷動

    隨機聊天:meowchat、嘰嘰、隨喵

    文藝社交:片刻、火柴盒、豆瓣(各種)、Same

    陪你幹嘛社交:請吃飯、約飯、請你看電影

    問答/知識:知乎、Quora、Brainly

    鄰里社交:NEXTDOOR、叮咚社區

    有償社交:寵愛、快約

    女性社交:薇蜜、辣媽圈、大姨媽、元子、各類育嬰懷孕……

    造星/明星社交:捧絲兒、蜜樂、星雲

    短視頻社區:美拍、微視、VINE 、8PM、秒拍

    大公司做的社交:來往、易信、吧拉(新的淘寶做的買買買same)……

    美女社區社交:女神計劃、我不是女神

    如果沒有自己的技術團隊,從0-1的APP開發,外包出去的話,需要做以下這些事情:

    1. 確定找個人或者團隊

    這個問題的關鍵點在於項目的預算,以於項目質量和開發周期的要求。個人,團隊和公司的開發質量在大部分情況下都是後面高於前者,如果項目預算充足的情況下,建議優先找公司開發會靠譜很多。如果預算有限的話,可以考慮下個人開發都或團隊工作室。

    1.1 個人開發者:優點是開發成本最低,一般一天的開發薪酬為300-700不等(由於項目的大部分的工作量在開發上面,所以通常是找開發人員接手)。缺點是項目質量差,開發周期長,溝通和後期維護都比較麻煩。由於找個人開發大都是兼職,所以開發周期通常會比較長,進度上相對難掌握。另外還有就是除了開發外,項目設計,UI設計,測試,溝通,伺服器部署,上線,後期維護等方面缺乏相應的經驗,畢竟個人的能力一般都比較局限,只能擅長其中的一兩方面,所以很難在項目各個方面都做好。

    1.2 團隊或工作室:相對而言經驗和綜合能力相對個人強很多,開發薪酬一般是600到900不等。由於團隊一般是5個人以內,項目的人員配置沒有公司那麼齊全,通常一個技術可能即充當設計,又兼任測試,所以相對而言項目質量,項目管理,項目經驗沒有公司那麼出色。

    1.3 公司:在售前溝通,項目設計,UI設計,項目管理,各個開發領域以及測試等方面都有專長的人負責,分工比較明確,項目經驗也比較足,可以解決項目中遇到的各種問題。項目設計方面也會考慮得比較全面。缺點是成本相對較高,以廣州和深圳為例,公司的App項目人天報價通常是按照1000-1500的薪酬計算。

    2.找到服務外包團隊

    根據第一條提到的,首先確定你要找個人,團隊,還是公司來接包。

    2.1 找個人或團隊:優先考慮朋友推薦,一般如果你有朋友,或者朋友的朋友做app的開發,或者App UI的設計,通常都會認識很多這方面可推薦的人才。如果實現沒有這方面的渠道,建議到智城,CSTO,豬八戒,一品威客等軟體外包平台發包,如果預算可以的話,通常都會有很多團隊,個人,公司投標,一般在兩到三天之內會有十幾到幾十家競標的團隊或公司競標你的項目。很多團隊競標的時候都會附上一些案例和公司或團隊的介紹資料,這時可以從中進行篩選,找到幾家適合的再進一次聯繫了解,對比不同團隊或公司的經驗,能力,價格等等。

    2.1 找公司:建議在百度上面找App開發公司(上面2.1的方法可以找到app開發公司,但這個渠道找到的公司質量相對較低,數量也比較少)。一般在百度上面搜「App開發公司」都會看到有很多的App開發公司在上面競價,自然搜索結果也會有很多App開發公司列在上面。競價跟自然搜索結果看到的App開發公司其實都差不多,可以同時找3 ~ 6家App公司諮詢並進行綜合評估。通常參與百度競價的公司代表資金能力不錯,自然搜索排序排在前面幾頁的公司代表網站的SEO做得不錯(一般是養了幾個人的SEO團隊對網站進行長期的優化),但這隻能代表公司的營銷能力,並不能代表公司的開發及設計能力,畢竟很多公司是經過包裝的,很多都沒有自己的開發團隊,都是轉包出去的。所以下一步應該對公司的技術團隊,設計能力,以及公司情況做進一步的了解,才能篩選到靠譜的公司。

    2.3 找外包平台:

    目前國內的外包平台還是很多的,但是主流嘛,個人覺得還都談不上。說下我的行業感受吧:

    豬八戒做傳統外包的,現在也有app開發板塊,老牌外包平台,項目良莠不齊,單子偏小,項目溝通難度大,不過平台成熟,各種流程暢通。新手可以去豬八戒練下手。

    第三方企業單純的平台:

    如:27773技術眾包平台 有些互聯網公司、上市公司都在和他們合作 百度,藍色游標等

    因為多年行業積累,有大量的技術人員人脈,平台將APP開發方面的需求,分配給擁有閑散時間的技術人員。

    27773的服務對象包含初創公司、傳統企業及部分技術外包公司,人才庫為此前積累的近萬名技術人員,業務範圍以網站搭建、APP等軟體研發和微信公眾號二次開發為主。

    當企業用戶通過網站、微信公眾號或撥打電話下單後,首先由工作人員對接,了解實際需求,協商眾包方案,涵蓋人員數量、費用預算、服務進度等,簽訂商務合同後,再分配給篩選過的技術人員。

    考慮到不同用戶的實際需求,團隊設計出項目制和時薪制兩種合作模式。前者由平台一次性收取項目承包費用,自行安排人員數量,對結果負責;後者僅由平台推薦技術人員,按累計工作時間收費。

    為提高工作效率,團隊在拓展業務之餘,研發出一套人才匹配系統,於今年3月正式上線。通過對前期合作人員的分析,團隊相繼邀請1000位技術人員加入系統。
  3. ◆ 系統截圖

    系統不光會記錄技術人員的專業背景、空閑時間等基本信息,還會實時錄入每次溝通的細節、項目完成情況等。

    當平台接到訂單後,首先由工作人員提取任務核心點,然後在系統內通過時間範圍、專業背景、行業要求等自動篩選,再由人工二次篩選,最終分配任務,技術人員可實時接單。

    企業和技術人員隨後分別與平台簽約,自行對接開展後續任務。過程中,如果企業對技術人員不滿意,可以協調更換。「與外包公司相比,我們至少能為企業節省三分之一的成本。」

    建議:通常情況下優先考慮平台,讓平台匹配合適人選,一方面節省溝通成本,另一方面,他們能幫你選擇適合的開發者或者本地開發者,有一些情況下需要面對面交流或協調解決問題,會方便很多。

    注意APP外包的流程

  4. 一般外包的項目都需要經常這幾個流程:

    1)需求溝通:雙方溝通項目的需求,對項目的可行性進行分析

    2)工作量評估:在確認了項目的需求後,外包團隊對項目的價錢和進度進行評估,並提供一份詳細的報價表及項目進度文檔,確認開發進度及時間安排

    3)簽署項目合同:雙方在項目報價和開發時間上如果達成統一意見,則正式簽署項目合同,之後項目將正式啟動

    4)設計,研發,測試,上線:根據最終確認的設計方案,對整個項目進行產品原型,視覺圖的設計,研發,測試,驗收,最終發布上線

    5)相關文檔與源碼交付:完成所有的設計和開發,根據實際需要進行必要的技術輸出,合作完成。6)維護升級:一般的APP項目開發完後都需要進行維護,因為隨著手機系統的升級,或長時間的使用,或多或少都會有其他一些新出現的問題需要維護。

    4. 簽合同注意事項

    一般合同都是接包的公司提供的,裡面主要包括項目雙方的責任和義務,其中關於項目報價,項目開發周期,分期付款結點,維護升級, 源碼版權歸屬等方面需要特別留意。正規公司一般按3-4期進行收款,如:5-4-1,或4-3-3,或3-4-3,這方面沒有硬性規定,雙方協商好即可,不同公司的收款方式都不一樣。簽合同之前,需要溝通好需求,明確功能要點,然後讓接包方提供詳細的報價表,以及進度安排計劃,這些如果在簽合同前沒有明確好的話,後面項目開發過程容易產生一些糾紛或理解上的偏差,成為項目的隱性風險。

    5. 後期維護升級費用

    一般項目開發完成後,都會提供免費的維護試運行期。不同公司提供的免費維護期不同,常見的有3個月,半年,或者一年。免費維護期過後,會按項目總額的10%收取下一年的維護費用(維護費僅包含對已有需求功能的維護)。如果後期有需求變更,或者新加一些新的功能點,會評估修改所需的工作量,再額外算升級的費用。

    6. 關於成本預算方面

    開發一個app項目,不單單只是開發成本,還需要考慮每個月的伺服器費用(用戶數不大的話,伺服器費用一般一個月200 - 500元 左右),第三方服務費用(如簡訊介面費用,或一些方案的增值服務),維護升級費用,上線APP市場的成本(如iOS上線到appstore需要每年交99美金,上傳到Goolgle Play需要一次性交25美金,國內的安卓市場免費)以及運營的成本等等,這些通常沒有算入開發成本當中。


先做伺服器吧,社交類這種需要交互頻繁的app需要很強力的伺服器,做個壓力測試。然後是定好資料庫表結構和介面協議,以後盡量不修改這種底層的東西,要不會很麻煩,最後就是app了,設計UI結構和分界面,然後填代碼。

最難的應該就是設計。

涉及的東西,伺服器方面,Python,PHP,Java,各有優劣,看你如何選擇,資料庫一般都是MySQL吧,客戶端無非就是eclipse和studio的區別。

手機打的,有點亂,見諒。

祝你好運。


問,開發一款安卓社交類APP攏共分幾步?

答:分三步。第一步,打開Android Studio;第二步,新建工程開始編碼;第三步,導出打包成apk發布到各應用商店。

搞定。完美。


推薦閱讀:

如何實現 Medium for iOS 那般的下劃線效果?
一個android工程師除了需要編寫代碼的技能,還需要什麼?
Android Studio項目應該提交哪些文件到GitHub上?
Android Studio有哪些非常好用的插件?
有什麼好用的Android Studio的插件值得推薦?

TAG:Android應用 | Android開發 | Android手機 | 移動開發 | app軟體開發 |