實戰(zhàn)干貨:選擇編程開發(fā)方向,必須知道的事
大家好,我是潭子;如果你是一名初學者,對編程非常感興趣,想成為一名合格的程序員,那么這篇文章就是為你寫的。
潭子根據(jù)多年的編程經(jīng)驗,并結合當前的互聯(lián)網(wǎng)行業(yè)的發(fā)展前景,給大家分析一下編程開發(fā)的幾個大方向。
1 服務器后臺開發(fā)
現(xiàn)在做服務器后臺開發(fā)的編程語言,常用的就是Java、PHP、C++等; 入門比較難,但是后期發(fā)展?jié)摿Υ?;不論是APP,還是網(wǎng)頁,智能硬件等都需要后臺提供服務的,我個人還是比較看好這塊開發(fā)的。
2 ? APP移動開發(fā)
APP移動開發(fā)包含:ios開發(fā)、Android開發(fā)等;ios的開發(fā)語言是OC(object-c)和swift;Android的開發(fā)語言是Java;對于移動端開發(fā),首先得去掌握去基本的開發(fā)語言,再去學習不同平臺的系統(tǒng)API和框架,就可以去開發(fā)了。
隨著移動互聯(lián)網(wǎng)的浪潮,APP像雨后春筍般涌現(xiàn)出來,各大互聯(lián)網(wǎng)公司,出高薪去挖人,因此做ios、Android開發(fā)人員的薪資待遇就水漲船高.....
但是隨著培訓機構APP移動開發(fā)人才輸出,企業(yè)的人才缺口也越來越??;加上2016年,資本寒冬,很多創(chuàng)業(yè)型公司也死亡了,所以APP移動開發(fā)人員的工資待遇慢慢的也回歸到市場理性狀態(tài)(很多學習APP移動開發(fā)的朋友,得理性對待)。
3 ? 智能硬件
智能硬件已經(jīng)從可穿戴設備延伸到智能電視、智能家居、智能汽車、醫(yī)療健康、智能玩具、機器人等領域。比較典型的智能硬件包括Google Glass、三星Gear、FitBit、麥開水杯、咕咚手環(huán)、Tesla、樂視電視等。
做智能硬件開發(fā),需要學習嵌入式和單片機,不僅要會寫代碼,還要了解硬件,所以入門門檻比較高,知識也比較龐雜,學習時間長;若想去學習的話,建議有一定軟件或者硬件基礎的。
4 . 游戲開發(fā)
游戲開發(fā),一般有端游(如魔獸世界)、頁游(如傳奇)和手游(如陰陽師、皇室戰(zhàn)爭等);端游和頁游,這里就不做過多探討(主要潭子也沒有開發(fā)過幾款,哈哈);我就聊聊比較熱門的手游吧。
手游主要是用Cocos2d-x游戲引擎開發(fā)的,一個基于C++的游戲引擎;所以該引擎就得有C++基礎哦(不過現(xiàn)在也有基于JS 和 lua版本的啦)。
游戲一直是人們長久廉價的娛樂方式,可能有很多人會問為什么是廉價呢?你想想看,很多游戲可以不用花費一分錢,可以玩很久;隨便買個玩具還有幾十塊錢呢,所以我還是比較欣賞有付費意識游戲玩家(哈哈,主要2016年,潭子和朋友一起創(chuàng)辦了一家手游公司,雖然現(xiàn)在失敗了…)......總的來說,手游開發(fā)前景還是不錯的?。。?/p>
5 ? ? VR/AR開發(fā)
潭子先來普及一下什么是VR和AR吧,當然還有MR(這里就不做過多解釋啦)。
虛擬現(xiàn)實(Virtual Reality,簡稱VR,又譯作靈境、幻真)是近年來出現(xiàn)的高新技術,也稱靈境技術或人工環(huán)境。虛擬現(xiàn)實是利用電腦模擬產(chǎn)生一個三維空間的虛擬世界,提供使用者關于視覺、聽覺、觸覺等感官的模擬,讓使用者如同身歷其境一般,可以及時、沒有限制地觀察三度空間內的事物。
增強現(xiàn)實(Augmented Reality,簡稱AR),也被稱之為混合現(xiàn)實。它通過電腦技術,將虛擬的信息應用到真實世界,真實的環(huán)境和虛擬的物體實時地疊加到了同一個畫面或空間同時存在。
那VR和AR的區(qū)別呢?
簡單來說,虛擬現(xiàn)實(VR),看到的場景和人物全是假的,是把你的意識代入一個虛擬的世界。
增強現(xiàn)實(AR),看到的場景和人物一部分是真一部分是假,是把虛擬的信息帶入到現(xiàn)實世界中。
建議用國內的easyAR,然后掌握相應的unity3D 技術,C#建議學下,基本就可以開發(fā)了了。而VR開發(fā),主要的3D軟件框架還是U3D和Unreal,對應的編程語言是C#和C++。
現(xiàn)在VR/AR開發(fā),是比較新的領域;發(fā)展前景還得依賴硬件等其他發(fā)展因素,所以個人覺得目前去學這方面開發(fā),風險還是有點大!
6 ?web開發(fā)
也就是做網(wǎng)站;一般分前端和后臺(Java和PHP等),前端主要負責網(wǎng)頁的設計,需要學習HTML、CSS、JavaScript等。而最近的微信小程序也挺火的,很多人都認為這是下一個風口;很多做web開發(fā)的朋友,都按耐不住心中的激動,去做微信小程序開發(fā)啦!
7 ?算法、底層開發(fā)
對于從這兩個技術方向開發(fā)的人員要求,還是蠻高的,當然待遇也是蠻高的;算法對數(shù)學等思維要求比較高,我之前有個同事是從事語音識別算法研究的,數(shù)學系的碩士,編程能力也不錯;而對于底層開發(fā),一般指的是框架甚至操作系統(tǒng)開發(fā),要求就更高了.....
8 ?測試(QA)
QA(Quality Assurance,譯為“品質保證”),一般分黑盒測試和白盒測試。
黑盒測試:已知產(chǎn)品的功能設計規(guī)格,可以進行測試證明每個實現(xiàn)了的功能是否符合要求;白盒測試:已知產(chǎn)品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規(guī)格要求,所有內部成分是否以經(jīng)過檢查。
QA測試人員就是為程序員把關的,不但要能看懂代碼(大概理解什么意思),還要掌握一定的測試技巧,更重要的是心思縝密,有耐心有毅力;若產(chǎn)品的bug過多,有權駁回程序員的產(chǎn)品,這時就會影響程序員的績效;所以公司的測試和開發(fā)通常都有小矛盾的;不過很多公司的測試人員是妹子,也會促成一對歡喜冤家的。bug的程序猿,通常勾搭測試妹子的機會多些,脫單的機會大些,哈哈。。。
?小結
總的來說,IT編程行業(yè)在市場上,待遇還是比較高的;但是每個行業(yè)都有自己的特殊性,互聯(lián)網(wǎng)變化很快,企業(yè)為了跟上市場發(fā)展,技術開發(fā)開發(fā)的朋友,還是比較辛苦的............