學習Java語言,可以從事那些工作?

by TibaMe小編
學習Java語言,可以從事哪些工作?

撰稿者:陳宗興

如何選取一個程式語言作為敲門磚

進入資訊領域開發行列,尤其是想進入程式設計師領域的第一個要件,往往需要需要具備有一項主要的程式語言開發能力。而一個初學者,往往在面對市面上諸多電腦程式語言環境時,如何挑選一個程式語言當作一個程式設計師的敲門磚時,常常無所適從。

在挑選的程式語言要件裏,我們需要設定若干個前提,那就是你將來想進入哪一種應用程式設計領域,一般可以區分為:

  1. Mobile行動裝置系統
  2. 網站系統
  3. Window GUI桌上型系統
  4. IoT物聯網系統
  5. 雲端服務系統

配合這些系統領域的切割,其實又往往需要再混合開發的需求下,決定一個程式語言的方向,可以綜合下列的要件:

  1. 多人使用,市面資源豐沛
  2. 具有開發多面向系統能力
  3. 語言精簡與穩定,並且具有持續發展的特性
  4. 向後向前相容性,持續系統穩定轉版
  5. 具有穩定的Framework支援
  6. 物件導向架構完整
  7. 易學習與易使用,開發工具豐富
  8. 安全性機制高

簡單地說,如果容易學習,資源豐沛,可以達到不同的應用系統需求開發,且具有豐沛的整合環境與工具(第三方模組與工具庫 )。我想,這就是你可以選擇進入學習的程式語言。

圖一 2019年十大程式語言排行榜 (來源:IEEE Spectrum)

如圖一所示,Java程式語言雖排行第二,但在整個系統開發的領域上,橫跨網際網路系統到行動裝置,以及桌機系統開發,唯獨定義在AI領域開發較為欠缺,實際在這一塊AI開發仍是可以補足上去的。

如果我們追求的不是一個曇花一現的持久技術層面來看,如圖二所示,我們可以發現Java在近十年的發展與使用人數上,居於鰲頭。可見在向前向後的相容性與穩定性持續發展。以及市面上大量完成的應用系統領域範圍來說,是值得投資的程式語言。

圖二 TIOBE程式語言Top 10排名走勢 (來源:TIOBE)

在不同的學習階段,可擔任何種工程師?

如果先期只學會Java程式語言基礎與物件導向程式設計能力,其實你可以進入Window GUI圖形化系統開發領域,或者是直接進入Andorid APP行動裝置系統開發。當然亦有人直接使用Java配合Raspberry(樹莓派)進行物聯網開發(直接在Raspbian作業系統下)。這也是另一種選擇。

圖三 具有Java程式語言基礎能力可以朝向的應用系統

即使我們直接投入這些相關的系統開發,仍需要具足相關的Framework或者延伸的技術範圍,也就是說程式語言只是一個基礎,必須配合應用系統特性,學習到相關的擴充技術與框架,才能開發自如。

圖四 使用Java程式語言基礎進入的應用系統領域延伸的技術範圍

尤其是Andorid行動裝置系統開發,資料來源往往需要整合遠端的RESTful API,這時候你更需要具備有HTTP網際網路通訊協定溝通的能力,否則無法順利完成一支APP與資料整合的需求

筆者,總是這樣定義一個Android工程師,如果無須撰寫Web API,只是整合Web API,這樣的Andorid工程師屬於前端APP UI設計工程師。並非是一個Full Stack(全端)工程師。

開發網站系統須具備哪一些技術

如果你具有Java程式設計基礎之後,欲進入Java網站系統開發,那就需要具備有如下的基礎能力:

  1. Servlet API設計能力
  2. JSP Page設計能力
  3. 資料庫存取設計能力

這些還算是網站系統該具備有的基礎能力,如此你大致上可以開發一個使用Server Side為架構的動態網站系統。如ERP系統與一班事務處理資料庫系統等。

圖五 Java Web 程式開發具有的基礎能力

假如你只是修練在一個Server Side的Java網站系統開發能力,具備有Servlet/JSP與資料存取的設計能力,應足以擔任大任。但建議在講求系統開發的快速與穩定性與模組化架構下,可能還需要學會若干的Framework支撐網站系統持續與快速與維護的穩定性開發。

這時候就需要若干具備有市面上持久發展與大量被使用的Framework才支撐系統開發。

圖六 Java Web市面上使用的 Framework

倘若你必須強化網站在使用者UI互動設計上,如電子商務系統,或者設計Web APP使用在手機上,那得將網站系統設計能力,從Server Side推向前端設計能力(Client Side),這時候得透過前端基礎語言與框架進行強化;一般需要強化相關技術為:

  1. HTML 5.0
  2. JavaScript 程式語言設計
  3. jQuery Framework等
  4. RWD網站設計能力
  5. CSS樣式表設計能力

另外你需要具備有將Server Side網站系統開發能力朝向Web API開發邁入,且透過前端JavaScript採用AJAX進行非同步呼喚與處理整合應用。

圖七 強化網站前端處理能力需要整合的技術規範

具備有介接能力開發整合AI Service

隨著各種載具不斷的推陳出新,前端與後端的分工要越清楚分割越好,而RESTful API正是可以通過一套統一的介面為 Web、iOS和Android提供服務。對於像是大型平台商來說,比如Facebook、Google、微博開放平台…等,它們可以選擇不需要有前端的顯示,只需要一套提供服務的介面,來達成跨平台、跨作業系統的困境,RESTful便是它們最好的服務撰寫模式。

在邁入RESTful API(Web API)開發領域的前提下,我們更需要具備有Java Servlet與Web網站系統開發基礎,尤其對於HTTP通訊協定運算架構更需要投入。進而進入雲端服務元件開發,進而整合各類型服務與資源存取的能力。

圖八 RESTful API整合架構

在現今使用APP進行聊天通訊的趨勢下,普遍架構在RESTful API開發WebHook(網際網路掛勾)架構,與Lint Bot(聊天機器人)進行訂閱資訊的延伸,甚至延伸到AI服務進行推測與回應。

這讓人機介面與AI Service分離開發的情況下,透過RESTful API進行異質環境與服務的整合。讓系統可以在各自的強項下進行更大功能的擴充與延展。

圖九 RESTful API介接 Line Bot與AI Service應用架構

統合你的Java程式語言到Java Web與Jersey Framework,進行 RESTful API服務開發,最後更能夠進行AI Service建模佈署後的RESTful API進行整合(有些AI Service提供Python撰寫進行擴充模組應用),如此即可實現你的Java邁入AI系統開發領域。

《讓你在一個語言下,整合前端到後端服務與介接異質環境與服務,如虎添翼一般的讓系統飛起來。》

圖十 RESTful API讓你整合各種異質環境的與功能
分享這篇文章:
0 留言
0

您也許會喜歡

發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料