BAT裡面一般用什麼工具做Android開發?

一般設計到大的項目一般在SVN上提交代碼,不知BAT是怎樣的一個開發流程


不是BAT,但是也算互聯網公司。Facebook用的環境是:

Git (mercurial) + Phabricator + Android Studio (IntelliJ) .

注意:很久很久之前,大概2010-2011年之前我們都還在用Eclipse。道理很簡單,Eclipse當時還是Java和Google主推的默認IDE。後來我們Android的Tech Lead(一個從Google過來的很牛的Senior Staff Engineer)過來給我們說 eclipse 已經不適應時代,極力勸大家轉型 IntelliJ。還專門寫了長長的一篇Wiki Page,描述IntelliJ 的好處,反正就是說eclipse沒法比。果然過了一年,Google自己也轉入到intellij的陣營了。開始我們公司還有些守舊派,比如我,我06年底就開始用eclipse,熟悉他們的ui,配置,熟悉了他們的快捷鍵,我當然不想轉呀。但是沒辦法畢竟有 tech lead的淫威在,最後只能慢慢去適應,痛苦地學習所有的快捷鍵。逼自己用了一個月後,我深刻的感受到了它的強大於是再也回不去Eclipse,反而更有體會eclipse的過時地方太多(還有卡頓,工程配置bug,crash; you guys name it!)。那一剎那,我才感受到一個人的惰性是多麼嚴重地阻礙一個人的進步。當好幾個人特別是資深人士他們的惰性加在一起,形成一股勢力時,他們便成為一顆毒瘤,嚴重阻礙了整個團隊或者整個公司的進步。國內更加嚴重,我見過無數的團隊還在用特別老的代碼管理,特別老的工具,以及讓人特別恐怖的代碼開發的觀念。所以,請今天走出這第一步,轉入android studio + gradle 的陣營。

關於代碼管理:從進入fb第一天,就只接觸過git,那時一直用這玩意,沒想到還真有很多人現在還在用svn,甚至只會用svn。後來,fb的codebase越來越大,就換到了mercurial,為了解決性能問題。對於小的創業公司,git無疑還是首選。

關於vim,這個爭論過很久。我一直認為最牛逼的程序員,本來就不介意用什麼編輯器,所以反過來講道理就是 所有隻推崇用vim或者強迫用vim的都是菜鳥。我仔細觀察過這些菜鳥,他們大部分人都只會用vim這一個editor,既沒好好用過emacs,也沒花時間研究過editor新貴sublime。簡而言之,他們之所以「喜歡」vim或者推薦vim,只是因為vim是他們在terminal和coding里學會的第一個編輯器,甚至是唯一一個花了點時間去掌握的編輯器。他們將自己僅學會的一點vim知識,作為護城河,像一個深井裡的青蛙一樣,去鄙視很多新入職的非vim員工。推而廣之,所有對某一領域過於痴狂進而貶低其他平台的技術人員都是菜鳥。比如用vim的鄙視用原版eclipse或者intellij的editor的;用iPhone的鄙視用安卓;用mac的鄙視用windows的等等。

不好意思,睡不著,說得有點多。大家不要罵我,因為我祝所有看這個答案的人端午節安康,不久到來的國慶節也快樂!

----- 更新 -----

另外現在大部分公司使用 Genymotion,推薦使用。理由是「It is HIGHLY recommended to use Genymotion instead of Android Emulator, the performance are much better and you"ll save a lot of time (and it"s easier to setup)」


說說小米的吧

電腦:DELL台式機 8核 i7 + 16G內存 + 一橫一豎雙顯示屏

系統:Ubuntu

開發工具:三年前剛進來用Eclipse,去年開始轉為Android Studio

代碼管理:Git

代碼review: gerrit

bug和需求管理:JIRA

公共文檔:wiki

平時看源碼用Sublime、vim


謝邀。

只說我自己:

NDK:Eclipse

主工程:Intellij IDEA

預研:Android Studio Preview

IDE不應該成為障礙,哪個適合就用那個。

看到題主自問自答:

這讓我想起了RFX的一個回答:

在知乎提問是不是都可以得到較專業、準確的答案? - RednaxelaFX 的回答

這是R神回答中最後的一段話:

最容易澆滅回答熱情的就是催稿。回答這些冷門問題純粹靠熱情,不像有些類別的問題或許多回答一些還能靠它賺點錢。想回答得專業、準確、全面就得花時間;講解原理,給出例子,引用資料,這些都需要時間。但「在線等」的人們似乎從來不關心這點。

工作了以後大家都很忙,更沒有人有義務回答的你問題。看題主資料上寫的是UESTC,每年學校進BAT的都有一堆,我們組連我在內就有3個。即使在知乎上沒有人回答你的問題,河畔提問或者找一下師兄師姐,朋友們都能得到答案,希望UESTC的教育能使你多一點耐心,多一些思考,我相信這對你今後的發展大有好處。


IDE:eclipse夾雜idea 不同部門不一樣,用eclipse一般歷史原因或者ndk

文本編輯器:sublimevim...個人喜好不同

版本控制:svngit 不同部門不一樣

bug管理:bugzilla

文本diff:beyond compare

源碼查看:在線source in sight

svngit客戶端:烏龜or sourcetree

終端:cmderxshellmac

測試機:五花八門應有盡有

待補充。


一句話 用了Android Studio (jetbrains系列)你可能不會再用別的了


公司用的是git+Android Studio開發工具,我們自己有建一個中央倉庫,模擬器用Genymotion+本身模擬器,操作系統用ubuntu和WIN XP虛擬機,對多渠道打包和項目依賴的支持,不要太Happy ^_^.


Android Studio + vim plugin


BAT中某家, 自己Android開發用Android Studio,構建當然是使用gradle了。公司裡面也用eclipse+maven。同時由於構建環境maven支持的更好,不少Android studio黨也選擇本地AndroidStudio+gradle,構建用maven的方式。

個人觀點,公司裡面用什麼工具不應該影響個人選擇,目標都應該是選擇當前環境下最高效的工具。這個高效也是需要考慮穩定性的。比如atom很好用很新,之前一次升級很多必須的插件(jsformat+emacs鍵位)不兼容不能用了,給作者提issue也短期內不一定更新,結果只能束諸高閣。

如果公司用的工具和個人的工具之間存在著較大的效率差異,那麼你的機會來了,說明你可以已你的經驗去推動公司的相關工具的更新了。

Android開發目前最好的IDE是Android Studio無疑,即時有時公司的項目上比較大,無法很快遷過來,自己也應該在個人項目中使用起來。如果一個人執著於某一種工具而不追逐最有效率的工具的話,很快會被淘汰的;如果一個公司沒有人做轉變,都以各種理由守著過時的工具,那麼這個公司肯定也會失去活力。

比如大部分的支持都是基於maven的,那麼maven能做的事情gradle肯定也能做。簡單的可以通過shell來組合兩者的輸出產物,也可以通過自己寫gradle插件來實現和目前流程的兼容,而不是說因為之前的項目都依賴在maven上,就一直不換了。經歷過幾次發現其實變化之後並不會預想的那麼糟糕。

做構建插件從ant到maven, 在到gradle。從寫xml寫到吐到最終能爽朗的寫groovy,效率提升了不知道多少倍。

對! 說的就是svn,早就可以遷git了, git-svn都是好多年前的事了。


非bat。

ide的話,如果是工作上,就是組裡大家用什麼,你也跟著用,否則交流起來,總有不便利的地方。

對於其他的ide,就是業餘時間靠個人興趣和愛好,鼓弄著玩了

我剛開始寫程序時候,也下了4,5個ide,聽人介紹,這個什麼什麼好,那個什麼什麼好。

其實自己哪個順手,哪個最好。


不同部門有所區別,我們是Eclipse+Maven+Git


intellij idea

ps:說用vi開發Android的,你們真的這麼搞嗎?


系統:ubuntu或者mac osX

開發環境:Android Studio

版本管理:git

代碼review: gerrit

bug和需求管理:JIRA

文檔管理,分享:wiki

自動編譯:jenkins

打包:之前是python腳本編譯,現在改成了gradle


我覺得我這種只用得好eclipse的簡直丟了bat的臉啊


Intellij IDEA


和facebook類似,在linkedin也是git和intellij


開發大部分人都切到Android Studio,還有少部分人使用Eclipse,個人覺得AS比Eclipse好用的不要太多,大家都知道Google也停止了對Eclipse ide的維護了。

代碼控制工具是GitLab,Git比SVN多了一個本地倉庫。

編譯工具目前用的是Maven,目前也在向Gradle轉移了

測試一般用的是真機,電腦上面也安裝了GenyMotion


eclipse比IDEA真的差很多


android studio + svn


都只是工具而已,習慣就好,技術不行,什麼工具都是白搭,工具論者,菜鳥!


AS + gerrit


推薦閱讀:

為什麼Android 的APP 沒有iOS 的APP 有創意?
對Android App來說,功能重要還是性能重要?
為什麼安卓國行比水貨貴那麼多?
一個資深的Android開發者需要掌握哪些技能?
一般軟體都是優先開發安卓和ios的,為什麼詞焙沒有安卓版?

TAG:互聯網 | Android開發 | Android | BAT百度、阿里巴巴、騰訊 |