-
1 # 匠心架構
-
2 # 源ivan
至於方向的問題和趨勢問題,個人見解目前處於五五開,最重要的還是你的興趣在哪裡。
對於WEB方向側重於網站類開發和系統類開發,而安卓則是應用類開發。
一般JAVAweb方向,除了電子商務網站,電商網站,系統網站,還有更多的企業管理系統,如聯通、電信、移動等都有自己的大型管理系統,如供應鏈、人事、財務、專案管理等一些列WEB應用。
而安卓則是比較直觀,對於APP應用來說也是百花齊放,但現在市場比較趨於比較飽和。例外一方面就是嵌入式的結合也比較多,其次如今智慧化時代的來臨,也是一個應用發揮的機會。
如果對於以後的轉型來看肯定是WEB方向比較有利,能夠接觸到前後端以及運維以及資料庫,可以說受眾面相對來說比較廣一點,對於安卓開發來說侷限性就比較大一點。
-
3 # IT人劉俊明
作為一名IT從業者,同時也是一名計算機專業的教育工作者,我來回答一下這個問題。
首先,從Java語言的技術體系和當前的行業發展趨勢來看,Java初學者可以按照Web開發方向來制定學習計劃,一方面原因是Java Web開發方向的技術體系比較成熟,同時Web開發涉及到的技術面也相對比較廣泛,可以為初學者奠定一個比較紮實的Java技術基礎,未來在就業時也會有更多的選擇,另一方面原因是當前Android開發方向的人才需求量已經趨於平緩,單純從事Android開發很難會獲得較高的崗位附加值。
初學者在選擇學習方向的過程中,一方面要考慮自身的知識基礎和能力特點,另一方面還需要考慮不同方向的發展前景。從發展前景來看,Web開發和Android開發雖然都是比較傳統的方向,但是市場存量還是非常大的,如果要想在相關領域謀求一份工作崗位,還是相對比較容易的,但是由於移動網際網路的增量時代(消費端)已經進入尾聲,所以當前Android開發崗位的人才需求量並不大,這一點應該引起初學者的注意。
從整體的知識量來看,Java Web開發的知識量要更大一些,Java Web開發主要會涉及到三大塊學習內容,其一是Java基礎語法;其二是Web前端知識;其三是框架知識。從學習難度來看,Java基礎語法部分的難度是相對比較高的,尤其是對於沒有過程式語言基礎的初學者來說,Java語言當中的抽象概念還是比較難於理解的。
學習Java Web開發除了要學習Java本身的內容之外,還需要重點關注一下前端開發知識,前端開發知識對於Java程式設計師的崗位附加值有比較明顯的影響,如果Java程式設計師能夠具備一定的前端開發知識,也會明顯拓展自身的崗位邊界。在雲計算時代的應用級開發端,Java程式設計師的整體發展趨勢比較趨向於全棧化,全棧程式設計師不僅更容易實現就業,發展空間也會更大一些。
前端開發知識雖然入門相對比較容易,但是由於前端知識比較多且雜,所以學習前端開發也需要一個系統的過程,而且一定要重視多做實驗。初學者可以從基礎的HTML語言開始學起,然後進一步學習JavaScript語言,另外最好能掌握一個流行的前端開發框架。
Java學習的第三個階段是學習開發框架,開發框架對於Java程式設計師的工作效率有非常直接的影響,所以開發框架也是初學者的一個學習重點。目前Java程式設計師可以重點學習一下Spring系列框架,從SpringBoot開始學起就是不錯的選擇。
最後,如果初學者沒有更多的學習時間,而且對於Android開發非常感興趣,那麼也可以走Android學習路線。如果未來想透過掌握Android開發獲得一份工作,一定要從三個方面入手,其一是要重視提升自身的動手實踐能力;其二是重視拓展自身的知識面,最好能夠掌握一定的後端開發知識;其三是重視新技術的學習。
-
4 # 非著名攻城獅
我是一名安卓開發者,現在自學java服務開發,因為公司需要。我覺得還是以自身需求為主吧,如果單純的想轉職業,那我建議還是web方向。
目前安卓市場已經飽和,連培訓機構都沒有安卓課程了安卓市場在兩年前就已經開始飽和了,市場對技術的要求變高了。以前是隻有懂得四大元件五大控制元件,基本就能找到工作,這個說的真不誇張。
現在的APP不僅要保持穩定性,還有流暢性、使用者體驗等等,而且功能頁面也越來越複雜。現在app裡面很多東西,都不是初級程式設計師能搞定的了。
另外市場對安卓的橫向技術也有要求,以前是隻需懂得APP開發,但現在是混合開發的時代,就是app裡面嵌入H5,一些招聘要求上標明需要棟JS。
雖然安卓是用java開發,當然現在kotlin也可以開發安卓,這裡我們不細聊。安卓使用的是java的閹割庫,很多java的庫安卓SDK都沒有,另外安卓有一套新的framework層,
也是用java寫的,所以會java學習起來有優勢。但是如果你學習安卓不能達到中高階水平,很難找得到工作,因為市場飽和,初級程式設計師沒啥競爭力。
我認為未來的發展web端要比安卓好,如果你想轉的話,我建議你往web端轉,這並不是說怕你搶飯碗啥的當然還是得從你自身出發,看你目前公司的需求是怎麼樣的,邊學邊開發是最好的,雖然學起來吃力,但是有人替你答疑解惑是很幸福的。我現在有問題搞不懂就會找我們公司的後臺人員。
其次你可以看看你所在地的公司招聘要求,看看web端和安卓端的職位要求和薪資水平,綜合考慮下吧!
-
5 # AIasService
我認為先向web方向學習,掌握後端微服務等開發技術,再對前端和andriod開發技術學習,這樣會更理解軟體開發整體架構和有發展潛力
-
6 # SteveJrong
個人認為從廣度和前景方面來說,web方向(前端)更好,安卓方向稍差一些。
目前來看,拿通用性來說,JS可以寫遊戲(unity)、客戶端(electron)、手機APP(react native)、網站(Vue + node.js)、爬蟲、小程式等很多東西,而安卓其實就是客戶端,路子較JS窄一些。
選擇開發方向,其實主要看興趣。如果對JS有好感,想多做一些沒有做過的技術和方向,可以選擇往前端發展;如果對APP情有獨鍾,喜歡研究手機,接觸底層硬體,也可以選擇往安卓方向發展。
-
7 # 駭客日
中庸的回答一定是各有優劣。我們先深入分析下兩個方向,再來下結論。
先理一下這兩個概念。android方向自然是移動端開發。web方向,這個用詞不太準確。可能用伺服器端開發更準確。
1、從需求量來說,肯定是伺服器端多。需求量多的原因自然是伺服器方向的應用場景多。這個應該很好理解吧。伺服器端,方方面面,各行各業的資訊系統或Web系統都可以用Java來做。當然有些專業領域Java並不擅長,比如偏底層和演算法。但是目前已知的眾多商業場景都能看到Java的身影,從銀行到教育,從網站到ERP。
而安卓以移動端APP為主,開發的是給直接使用者使用的客戶端。這個客戶端訪問的伺服器端,很可能還是用Java開發的伺服器端應用。雖然已經進入移動網際網路時代了,但是還是會有大量軟體沒有或不需要移動端。或者移動端比較弱。比如很多專業性很強的應用。當然了,還有一些零散的智慧裝置現在也在使用安卓,比如智慧電視。
2、從難易程度看,也是伺服器端難;伺服器端開發的基本面就會涉及到更廣的知識領域。除了Java語法知識,還有各種開源框架、資料庫知識及資料庫的安裝與使用、簡單演算法和資料結構知識、會玩一點伺服器軟體比如tomcat、也可能還需要會一點作業系統比如Linux的使用知識等等。
3、從就業機會上講,安卓方向相對勢弱,伺服器端長期處於穩定需求中。在移動網際網路剛興起的那兩年,安卓開發屬於求大於供,現在市場早已飽和。且因為伺服器端的市場更大,所以哪怕伺服器端市場也是飽和的,但是其基數大得多,那麼就業機會也會更大。
再一個,移動端應用開發還有一個流派就是混合式開發。就是用一個移動端的原生殼,套上純前端程式碼(html、css、js)來開發很多互動性不是那麼強(遊戲app算強、新聞類app算弱)的應用。因為混合式開發有跨平臺性,也就是一次開發,安卓和蘋果都能用。所以在不少場景下會選擇這種開發方式。這又搶佔了一部分安卓開發人員的市場。
4、從待遇上講,安卓已經過了最好的時候,伺服器端一直比較穩定。曾經安卓求大於供的那兩年,同等能力的安卓薪資會高於做伺服器端的Java開發。現在安卓已是買方市場,安卓程式設計師沒有那麼高的議價能力了。雖然混合式開發的增加,安卓程式設計師的薪資不說下降吧,往上去的趨勢肯定是沒有的了。
伺服器端的收入在可見的未來肯定是比較穩定的,波動不會太大,理論上會緩慢上漲。畢竟需求一直在那下不去,物價再漲你不漲說不過去啊。
5、從發展前景講,伺服器端更廣。就前面的論述可以看到,伺服器端開發對程式設計師的綜合能力要求更高。且在一個專案中,從偏前端的人和做後端的人中選一個專案經理的話,一般都會優先考慮後端。一個是後端人員本身綜合能力要求更高,一個是後端人員本來要對接的其他角色更多對專案的理解比做安卓的人更深。
綜上,伺服器端(也即是Web方向)穩定可期,安卓端相對需求量少但肯定會長期存在。
回覆列表
首先可以體系性的瞭解下web和android的技術棧大綱,找一些可以跑起來的demo看看,哪種比較合適自己。本人建議web相關(包含h5),好學,容易上手,招聘崗位也比較多。