我只是一個前端工程師,撰寫 RESTful API 與我何干?

更新日期:2020年1月3日




UI Designer前端工程師正夯


這十年來,UI Designer因應了電商潮流與Web APP的風起雲湧,於是整個盛行起來。並且在技術環節進行了統一與整合,串接與界接更趨於完善,俾使在前端開發上更能達到效益。因此,驅使了許年輕人投入在UI Designer設計行列中。且將累積經驗進行分享,遂造就了整個Client端工程師的人才需求。


整合了美工,網頁標籤設計,到重疊樣式表(CSS)等設計,再加上Client Side 語言-JavaScript的助長,讓前端開發更深入與廣泛整合應用。這是我們這一個歷經一個2000年代初期,曾經面對在一年之間將JavaScript與HTML打入冷宮(曾見過書店上的關於HTML/JavaScript書籍一年中完全下架),起而代之的是從Server Side進行資源整合與運行,進而產生前端HTML的【Server Side強勢語言與環境】的崛起;回朔那一個年代來看現在,我們這一個世紀的開發變得非常平衡與多彩。讓RIA的網際網路時代需求,不再綁定在所謂的瀏覽器插件環境下,終於可以統一在一定的程式語言與文件下,進行更完整與完善的開發。


Server Side 工程師難以進入


在從事資訊教育多年中,我經常問這一代年輕人,為何不學習一個資料庫伺服器規劃建置與管理?或者學習一個程式語言,可以有能力設計單位或機關,又或者是企業 ERP系統開發能力。能夠提供完善的系統整合資料與資源的能力與貢獻?


大部份的年輕人回應是:「那的確是太難了,而且不知道要修練多少的課程與投入多少的成本呢?」;另外一種回答是:「我們是初踏入資訊職場的新鮮人,公司怎麼可讓我們碰到後端資源或或者資料庫,不是將新鮮人設定在前端工程師的角色嘛?」。


更有人回答說:「寫ERP落伍了,現在不是流行寫 APP與AI嗎?」,而這些觀念與想法,有些來竟然來自老師的經驗提醒,有些是透過求職網標註的IT新鮮人的工作職務方向,各自解釋。讓這些年輕人有這些定位上的想法。


Server Side工程師進入的門檻真的很高嘛?是的,但是,任何系統總是萬丈高樓平地起,而人才也是。撰寫一套FULL Stack(全端工程師)可以觸及的ERP系統,門檻更高嘛?百分百是的,難處是整個 Domain必須進行了解與分析(這有一定的專案管理與標準化流程),讓整個資料流與結構更需要透徹,這當然不是一蹴可及。但也不是全然都沒有機會進來,因為在這些後端工程師或者全端工程師開發的領域中,指向事務流程進行整個流程與結構分析的,是可以一點一點累積推砌出來。


大部分的企業在尋求這些人才時,一般會提出IT新鮮人適當的職務,讓新鮮人有空間去發展。且這一方面的人力需求荒更甚於其他領域的需求。


當然也有人會持一種新技術趨勢的方向來談,就是AI看到憧憬,當然指向AI領域去發展。這論調沒錯,當我們在人力網站查詢AI人力需求時,我們又發現AI整合在自動化控制或者工業需求,我們發現AI整合在大數據基礎上的商業銀行等應用,我們發現AI整合在電商背後龐大的資料整合,進行自然語言機器人的開發,我們發現AI整合在醫療系統龐大的資源架構下等…。回過頭來我們發現,一個沒有數據經驗的或者收集到數據的公司怎會有AI的實務應用。


《AI是一個脫離不了龐大ERP整合的延展價值應用趨勢》。


除了進行演算法的研究外,業界仍需要一個對龐大資源與資料能夠進行整合的附加價值系統延伸,這其中包含AI與已經大量使用的APP開發。

到頭來,我們仍需要一個強大的Server Side工程師的團隊進行整合與完成趨勢系統。



圖一 2019/08 國內銀行開放 API(RESTful)正式釋放




我只是一個前端工程師,後端服務與我何干?


曾經,我在輔導某企業時,發現一個前端UI團隊,配合另一個撰寫Service的團隊,進行一個專案開發時,這一個UI Designer團隊只負責將RWD版型定義出,並且大量使用Bootstrap定義版型。但UI Designer不負責介接後端服務進行資料流程的處理,將界接服務的Java Script與ajax回給撰寫後端的團隊進行。


這也無可厚非,但就出現一個協同問題。


「UI Designer 團隊為求完滿狀態,幾乎每週更新一個版面,並且將整個版面上傳到專案資料夾,直接告知撰寫前端整合服務與服務撰寫的團隊,說新版的版面已經產生。」


這樣的版控更新,讓撰寫服務與界接UI到服務團隊開始進入痛苦的深淵,每改一個UI版面,就得重工一次。


前端工程師犯了一個非常嚴重的整合問題,工程師們尚不知,當一個新版面的產生,實際上可能動了標籤或者是 CSS原先的設定。無法明確告知整合介接RESTful服務的團隊時,結果是面對Tag整個標註的重新來過問題,或者Selector選擇器規則整個被打破掉,造成呼喚後端服務的回呼資訊,在非同步更新畫面的問題需要重標註與明確,產生重工作業非常地高。

所以,當一個UI Designer工程師,即使只是設計UI版面分工,仍需要了解,版面各種Selector標註的一致性作業,因為這些修改,影響到呼喚後端服務回應資訊的對應,以及非同步更新畫面上的完整性。


換句話說,前端工程師的經驗,如果只是認知在【前端範圍】,殊不知界接服務規格與運作,將會造成前端系統重工或者操作流程上的問題產生,這在網站或者GUI,或者手機APP都是同樣的嚴正偏頗觀念,因此更必須借助完善的專案管理與相互配合。但癥結上,前端工程師不知道後端服務撰寫配合性的架構與規範,因為事不關己,也無須開發,如此容易在界接上產生嚴重的斷層與落差。


我經常勉勵前端工程師,即使您不撰寫後端RESTful服務來進行內部系統或者提供外來系統進行界接,你也必須要知道RESTful Open API規範該如何閱讀與確認,並且在您的熟悉的前端語言經驗中,該如何整合與運作。因為,我們這一個年代已經開發一個系統是獨立運作模式的,我常常戲稱這樣的系統為【關起門來的宅男系統】,已經是非常罕見的獨立運作系統。如今大大小的的系統,總得走出去交交朋友的(其它的系統),讓資訊能夠互通互通;或者借助第三方的服務提升自己系統的擴充功能。


當國內銀行開始定義Open API規範出來時,釋放相關的RESTful API

當amazon AI RESTful API大量釋放出

當Microsoft Azure AI RESTful Service大量被釋放出

當CHT IoT AI RESTful大量釋放出

當Azure/Amazon/CHT/Google等大量釋放出IoT HUB API整合時

當您的企業有多種系統運行與異質資料庫時

當您的企業需要APP系統支援時…

資訊流,物流,金流,雲端整合,AI服務,物聯網服務,生活週遭各種設備智能畫的整合等。你即使是後端工程師(Server Side),您勢必無法躲掉這一個整合環境。這儼然不是一個趨勢,而是一個已經進行一段時間的資訊整合環境。


如果您是一個前端工程師,你已經很難看到任何一個系統可以獨立運作,您也遲早需要面對異質環境與功能的界接,又怎能不再重新審視看待Open API採用RESTful軟體風格的的服務,造成的架構與環境。


圖二 AI 平台採用 Open API(RESTful)提供應用系統介接與應用


FULL Stack=UI+WEB+Service+IoT+AI+Data Source


這是我認為已經是無法避免的,是全端工程師需要面對的環境,即使你是一個前端UI工程師,你仍需要知道這架構的每一個定位該如何整合與應用。


我們稱呼為一個《資訊人的 Common sense》


文 / 艾立克(陳宗興)老師


軟體開發者的必要裝備


1.邁入JAVA REST Web Service

立即暸解

2.「AI人臉辨識」1日開發實戰

立即暸解

2890 次瀏覽

最新文章

查看全部
訂閱電子報
​即時掌握最新文章及課程資訊

感謝您的訂閱!