先說結論: 因人而異。
會不會失業(yè),取決于你工作的內容、你對新事物的態(tài)度、你學習新知識的能力,簡而言之,取決于你的認知。
本文主要闡述低代碼的概念,介紹目前主流的低代碼平臺,總結低代碼平臺的典型特征、存在優(yōu)勢以及未來發(fā)展趨勢。并站在程序員的角度,分析如何在已經(jīng)到來的低代碼戰(zhàn)爭中,找到自己的定位,一展所長。
什么是低代碼?
低代碼(Low-Code)一詞最早由Forrester在2014年提出,通過少量代碼就可以快速生成應用程序的開發(fā)平臺。這類平臺面向的是IT專家或者平民程序員,以快速交付應用程序為目的,解決傳統(tǒng)軟件開發(fā)模式帶來的周期長、成本高等問題。
低代碼是一個相對的概念。從字面上看,能減少代碼量的開發(fā)方式就可以看做是低代碼。低代碼平臺指面向業(yè)務開發(fā)人員,屏蔽底層技術復雜性,以可視化方式為主,少量代碼為輔,用來快速搭建各種應用系統(tǒng)的開發(fā)平臺。
低代碼業(yè)內領軍者Outsystems有自己對低代碼的定義:低代碼是一種軟件開發(fā)方法,可以更快地交付應用程序,并且只需很少的手工編碼。低代碼平臺是一組工具,這些工具可以通過建模和圖形界面來可視化應用程序開發(fā)??梢允归_發(fā)人員可以跳過手工編碼,從而加快了將應用程序投入生產(chǎn)的過程。
Mendix認為,低代碼開發(fā)是一種可視化應用開發(fā)方法。通過低代碼開發(fā),不同經(jīng)驗水平的開發(fā)人員能夠通過圖形用戶界面,使用拖放式組件和模型驅動邏輯來創(chuàng)建 Web 和移動應用。
從各個低碼平臺對低代碼的定義,可以看出低代碼概念的基礎特征:只需少量代碼、通過可視化方式開發(fā),相比傳統(tǒng)開發(fā)模式,周期短,交付快,能夠快速搭建應用。
形式各異的低碼平臺
比較知名的低碼平臺,國外有Outsystems、Mendix,國內有華為應用魔方、阿里宜搭、簡道云、清流等。讓我們先來看看這些低代碼平臺研制的產(chǎn)品的功能有哪些,主要解決什么樣的問題。
華為應用魔方
華為應用魔方(AppCube)提供四大能力,幫助開發(fā)者高效構建應用。
- 頁面編排能力,可以把頁面的組件、布局、顏色進行編排;
- 相關數(shù)據(jù)建模能力,用于保存業(yè)務數(shù)據(jù);
- 業(yè)務邏輯編排能力,基于機器自動執(zhí)行的、不需要人為干涉的流程,可以高效編排;
- BPM的流程編排的能力,用以解決人為干涉和審批類的流程問題。
對于復雜的企業(yè)數(shù)字化場景,AppCube提供了全場景的開發(fā)能力
- 對于專業(yè)軟件開發(fā)工程師和企業(yè)IT人員,可以用低代碼開發(fā)能力快速開發(fā)應用
- 對于業(yè)務人員,可以用零代碼能力,通過一些拖拽快速構建
- 對于面向專業(yè)領域的專業(yè)問題,如復雜業(yè)務算法,開發(fā)者可以使用Java、Python等語言開發(fā),以微服務的方式發(fā)布到AppCube低代碼平臺進行托管和調用
阿里宜搭
宜搭是阿里巴巴自研的低代碼應用構建平臺,通過可視化拖拽的方式,傳統(tǒng)模式下需要2周才能完成開發(fā)的應用,用宜搭2小時就能完成。用宜搭搭建應用,你只需要關注業(yè)務本身。數(shù)據(jù)存儲、運行環(huán)境、服務器、網(wǎng)絡安全等,平臺為你全部搞定。
宜搭通過高度的抽象,將頁面元素封裝為基礎組件和業(yè)務組件,將業(yè)務規(guī)則、權限等封裝為規(guī)則配置、公式和可拖拽的流程設計器,通過拖拽以及配置,無需寫代碼,即可完成符合業(yè)務需求的應用系統(tǒng)搭建。
簡道云
簡道云是一款靈活易用的應用搭建平臺,提供豐富的功能模塊,如:在線表單,流程,儀表盤,知識庫等功能。使用者無需代碼基礎即可像搭建積木一樣,快速搭建出符合需求的個性化管理應用。
清流
輕流認為的無代碼開發(fā)是一種無需代碼基礎、適合業(yè)務人員、IT開發(fā)及其他各類人員使用的、快速構建適應企業(yè)各種需求變化的數(shù)字化開發(fā)平臺,用戶在幾天甚至幾個小時內就能完成系統(tǒng)的開發(fā)、測試和部署,并能夠隨時調整或更新。
Outsystems
OutSystems 是低代碼市場的長期領導者,OutSystems 的低代碼開發(fā)平臺,讓軟件開發(fā)人員和業(yè)務用戶通過直觀的可視化界面來構建應用程序,而不是傳統(tǒng)的編寫代碼方式。用戶可以在開發(fā)平臺靈活拖動各個圖形化控件,以構建業(yè)務流程、邏輯和數(shù)據(jù)模型等所需的功能,必要時還可以添加自己的代碼。
Mendix
美國原生代低代碼開發(fā)廠商,低代碼開發(fā)平臺的全球領導者之一。
Mendix大部分的功能都是優(yōu)越的,包括其數(shù)據(jù)建模和管理能力、提供數(shù)據(jù)庫及核心系統(tǒng)的連接組件,可以實現(xiàn)CRM、ERP等獨立應用數(shù)據(jù)的聯(lián)通。
雖然每個低代碼平臺的功能形態(tài)各不相同,但是我們仍然可以從中得出一些低碼平臺的通用特征:
低碼平臺的核心是搭建基礎引擎,如:表單引擎,流程引擎,報表引擎,消息引擎,規(guī)則引擎等等。
低碼平臺要具備建設系統(tǒng)基礎設施能力,如:組織架構,用戶體系,權限管理等。
低碼平臺都有組件/插件庫,基于數(shù)據(jù)模型,通過可視化的頁面操作/配置來構建應用 復雜一點的低碼平臺,需要擁有集成管理的能力,如:集成現(xiàn)有系統(tǒng)的開發(fā)能力,自動對接第三方開放平臺等。 低碼平臺功能越是豐繁復雜,越是需要程序員參與開發(fā)對接,深度配合。
程序員的核心競爭力是什么?
復盤能力
復盤能力要求我們在工作完成一段落后,對前期工作的代碼和bug進行回顧分析,發(fā)現(xiàn)閃光點和不足。
具體而言,如何實現(xiàn)代碼復用、局部重構,改善既有的代碼;如何避免出現(xiàn)重復的、相似的bug?
復盤能力能夠幫助程序員在日常的開發(fā)工作中,一點一滴的成長。
系統(tǒng)思維能力
系統(tǒng)性思維要求我們在編程實踐中要有方法論,要善于抽象,從整體上去思考問題。
舉個例子,當一個項目趨于穩(wěn)定之后,系統(tǒng)架構和編程范式基本不變了,開發(fā)具體功能的代碼結構就會變得很相似。那如何來提升編程效率呢?
寫個代碼生成器或許就是一個不錯的思路!
學習新知識的能力
海量的信息在互聯(lián)網(wǎng)上不分日夜地進行創(chuàng)造、分發(fā),每個人都能自由的獲取信息。如何篩選信息,如何辨識信息,是現(xiàn)階段信息化最大的挑戰(zhàn)。
作為信息化的建設者,程序員的自學能力,主動探索未知領域的能力,是非常核心的能力。這一點基本算業(yè)界共識了。
解決問題的能力
解決問題的穩(wěn)準狠是衡量一個程序員是否優(yōu)秀的重要因素之一,也是資深技術人員真正的價值所在。
程序員如何與低代碼相處?
低代碼要解決的痛點是,在低代碼平臺提供核心引擎和業(yè)務組件的基礎上,快速搭建一套具備基礎的業(yè)務功能,滿足常規(guī)需求和日常使用的應用。
對業(yè)務人員而言,它確實滿足了80%高頻重復的基礎需求,但仍有20%定制功能、復雜交互、特殊場景等個性化需求,無法通過可視化操作或者通用引擎來解決,必須要程序員介入開發(fā)。
另一方面,持續(xù)地進行迭代更新是一款軟件保持生命力的基本要素。而這往往會造成原本屬于二八原則里80%基礎需求變成20%的個性化需求。越是復雜的功能迭代,越是離不開程序員。
無代碼或許會到來,但去程序員不會發(fā)生。然而這并不意味著對程序員毫無影響。恰恰相反,當一個軟件工程80%的功能,都可以通過簡單的代碼邏輯,甚至不需要代碼就能實現(xiàn)。
如果不具備核心競爭力,那程序員還是程序員嗎?
版權聲明:本文內容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。