程序員該如在低代碼和無代碼開發中抉擇?
【CSDN編者按】「低代碼開發」旨在開發人員可以通過編寫少量代碼就可以快速生成應用程序的一種方法。
「無代碼」開發平台是為那些不知道也不需要知道任何實際的編程語言來使用應用程序的公民開發者而構建的。
在本文中,讓我們深入了解低代碼與無代碼開發的本質,看看它們區別在哪裡。
作者 | Chris Souther
譯者 | 蘇本如,責編 | 屠敏
出品 | CSDN(ID:CSDNnews)
以下為譯文:
對於一個人第一次是如何了解低代碼/無代碼這兩種開發方式,我總是充滿好奇。這就是為什麼我覺得貿易展會是如此有趣的原因;因為我可以拿同樣的問題問每一個走進你的展台的人們。通常這是我問他們的第一個問題,當然是在掃描了他們的胸牌之後。
在問這個問題時,我很快發現大多數人對低代碼開發平台和無代碼開發平台之間的區別其實並不清楚,這經常讓我情不自禁地長篇大論地解釋一番。低代碼開發平台和無代碼開發平台之間存在著很多非常顯著的差異,如果你正在考慮放棄傳統的應用程序開發方式,或者只是想嘗試一下可視化應用程序開發方式,那麼你需要了解這兩個平台能給你帶來什麼好處。
讓我們深入了解低代碼開發與無代碼開發的本質,看看它們區別在哪裡。
圖形用戶界面-現今編程環境的起源
自1804年穿孔卡片可編程式提花織機問世,編程語言已經存在200多年了。而在20世紀50年代,新的編程語言出現。到現在為止,事實上已經出現了256種編程語言。這意味著開發人員必須習慣的一件事就是「改變」。
編程界最近的一個變化是集成開發環境(IDE)的出現。IDE是為專業開發人員和公民開發者(終端用戶)提供的一套用來簡化編碼工作的軟體開發工具。IDE的起源可以追溯到1982年,當時詹姆斯·馬丁寫了一本書,叫《沒有程序員的應用程序開發》。馬丁在這本書中提到,有了IDE的幫助,創建應用程序需要的開發人員可以減少,在某些情況,甚至可能根本不需要開發人員。(開發人員不必驚慌,我們現在仍然需要你們。)
時間快進到2019年,形勢又發生了變化。我們現在已經處在了這樣一個階段:由於太多的代碼已經被編寫出來,導致我們不需要每個應用程序都從零開始編寫了。事實上,當你使用一個健壯的低代碼開發平台,而其中的可視化代碼塊就已經包含了大多數應用程序所需的90%的功能時,這個低代碼開發平台就能夠完成大部分繁重的工作。
什麼是低代碼開發?如何使用它?
你可以通過閱讀我們這篇標題為「什麼是低代碼開發」(https://www.outsystems.com/blog/what-is-low-code.html)的博客文章來深入了解低代碼開發到底是什麼意思。簡而言之,「低代碼開發」就是開發人員可以通過編寫少量代碼就可以快速生成應用程序的一種方法。我們有時把「低代碼」作為名詞用,這時候我們把它看作一個像Python語言和C#語言一樣的一種「東西」。我們有時也把「低代碼」作為動詞用,這時候它表達的是它字面上代表的一種應用程序開發方式,因為用這種方式開發應用程序時,你需要手寫的代碼比通常的開發方式要少。
使用低代碼開發平台類似於使用IDE,因為它包含了一套可以供開發人員直接使用的功能,和一套供開發人員使用的工具。然而,它實際上能提供的遠遠超過一個傳統的IDE。簡單來說,低代碼開發就是將已有代碼的可視化模塊拖放到工作流中以創建應用程序的過程。由於它可以完全取代傳統的手工編碼應用程序的開發方法,技術嫻熟的開發人員可以更智能、更高效地工作,而不會被重複的編碼束縛住。相反,他們可以將精力集中於創建應用程序的10%部分,並使其具有與眾不同的功能。
與「低代碼」開發相對的另一種方式是編寫數千行複雜的代碼和語句,然後對其進行調試。而使用「低代碼」開發並且使用可視化地方式來構建應用程序,你可以將開發速度提高10倍,並且最大化技術嫻熟的開發人員的價值。(看,前面我說過我們仍然需要你們開發人員。)
這就是為什麼Forrester預計到2022年,低代碼市場的支出仍將達到210億美元開發費用的一個重要原因。
低代碼開發的好處
你可以寫一篇關於低代碼開發的好處的文章。事實上,我們已經寫過。但現在,讓我們先從高層次了解一下低代碼開發的好處,然後再研究一下「無代碼」開發能帶給我們什麼。
低代碼開發的好處主要有以下四點:
速度:使用低代碼開發,你可以同時為多個平台構建應用程序,並且在幾天甚至在幾小時以內就可以向項目相關人員提交工作示例。
更多的資源:如果你在一個大型項目上工作,使用低代碼開發,你就不必再等待具有專業技能的開發人員完成另一個冗長的項目,這意味著項目可以更高效、以更低廉的成本完成。
低風險/高投資回報率:使用低代碼開發,意味著強大的安全流程,數據集成和跨平台支持已經內置,並且可以輕鬆定製,這通常意味著更低的風險,並且可以將更多的時間集中在業務邏輯的實現上。
快速部署:項目上線總是會讓人神經緊張。而使用低代碼開發,部署前的影響評估可以確保你的應用程序按預期工作。如果有任何異常發生,只需要一次單擊,你就可以回滾你所做的所有改變。
什麼是無代碼開發?
乍一看,很容易將低代碼開發和無代碼開發混淆起來。因為他們聽起來就像一樣。「無代碼」開發平台是為那些不知道也不需要知道任何實際的編程語言來使用應用程序的公民開發者而構建的。無代碼平台供應商認為用戶構建應用程序需要的所有內容都已經內置到平台中。無代碼平台類似於現在流行的博客平台,或者電子商務網站設計平台。這些平台有預先構建的頁面,可以讓你在幾分鐘內啟動你的博客或你的電子商務業務。
聽起來不錯吧?如果你的應用沒有任何獨特的和很難定製的功能,並且不需要解決數字現代化方面的挑戰的話,無代碼平台當然是個好選擇。然而,大多數無代碼平台最初設計用於解決單個業務問題,如業務流程管理。從業務增長的角度來看,這是天然的局限。所以許多無代碼平台供應商已經開始了將自己的平台歸類於低代碼平台,並進行了大肆炒作。
然而,他們稱自己冠為「低代碼」平台的榮耀可能已經過去了。行業分析師們已經識破了他們的遊戲套路,已經開始將一些無代碼平台供應商從一些相關報告中移出(如Forrester Research公司發布的報告《2019 Q1 Forrester Wave?:面嚮應用程序開發和交付專業人員的低代碼開發平台》),同時將它們轉移到那些只適用有限用例的平台報告中。
使用低代碼平台和無代碼平台的技能要求
從字面上看,有成百上千的小細節和功能點可以區分強大的低代碼平台和受限的無代碼平台解決方案。然而它們中的大多數在UI層面上區分並不明顯,這是這兩種平台容易混淆的主要原因。
但是,如果將我們的討論嚴格限定在應用程序開發層面的話,某些類型的用戶以及他們需要開發的內容可能會促使他們傾向於使用低代碼平台而不是無代碼平台。
無代碼解決方案只適合業務用戶或公民開發者。他們很少需要專業培訓。你可以把它視為一大優勢,但是由於這種類型用戶的技能有限,加上無代碼平台本身也有功能局限。大多數專業的開發人員都發現無代碼平台無法提供他們需要的開發能力,並且無代碼開發工具也限制了他們的開發能力。
低代碼平台旨在同時服務業務用戶和專業開發人員。對於業務用戶來說,在經驗豐富的IT人員指導下創建經過深思熟慮的與實際需求相符的應用程序,實際上在一定的管控下擴展了技術團隊的業務能力,並且使得技術團隊獲得了更多的處理能力。對於專業的開發人員來說,通過可視化的操作搭建應用程序,可以更加有效地提高開發效率。同時低代碼平台也允許他們根據需要手工編碼,這意味著在提高技術團隊的業務價值的同時,降低了開發工作的積壓量。
不妨問問周圍的人,你可能會很難找到一個專業的開發人員,他會對企業開發人員必須處理的大多數項目使用無代碼平台感興趣。
那麼,無代碼開發平台不適合專業的開發人員,對嗎?
這是對的。無代碼平台的吸引力在於,組織中幾乎任何具有一點技術背景的人都可以快速創建業務應用程序。這可能是一個巨大的優勢。但它同時也帶來了諸多問題。
首先,無代碼應用程序開發不需要任何編碼的想法並不總是事實。因為這些平台是為公民開發者設計的,IT技術部門還是不得不在最後一英里處介入,以完成與現有系統的集成。就這一點面言,「無代碼」開發最終可能很容易導致這樣的「我們現在需要大量的編碼,並且非常迫切」的困境。
這種困境的另一面可能更糟。如果你們的IT技術部門根本不參與應用程序開發時會出現什麼狀況?這將會產生可怕的結果:那就是你們的應用程序開發很可能根本沒有適當的監督或經過充分的論證。可以預見,各種各樣的安全問題、合法性問題、系統集成問題都會出現,最後會產生一個個設計不當的應用程序。最好的情形是這些應用程序浪費了很多不必要的資源,而最壞的情形則是,用戶會對這些應用程序望而卻步。
那麼,低代碼開發就一定比無代碼開發好嗎?
也不完全是。低代碼平台和無代碼平台都是基於同樣的「敏捷性」這一思想而構建的。雖然粗略地看上去(或者在無代碼供應商的網站上看),它們很相似。但實際上它們適用於非常不同的目的。
低代碼開發平台適合開發複雜的應用程序,這些應用程序通常為你們的核心業務服務,運行那些重要的和關鍵性的業務流程。它還可以用來構建獨立的移動和Web應用程序,這些應用程序可能需要也可能不需要複雜的集成。事實上,它可以用來開發任何應用程序。
相反,無代碼平台的局限性意味著它們只能用於前端用例開發。
話雖如此,在現代企業中,兩種平台都有應用空間,或者至少兩者能結合在一起。對於那些DevOps(另一種用於在開發中創造更大的靈活性的方法)的擁躉來說,低代碼平台和無代碼平台的組合可以提供完美的應用程序開發環境。
事實上,有些人認為這些技術的興起最終完全可以導致手工編碼時代的終結。就像我們的首席執行官保羅·羅薩多(Paulo Rosado),去年他發表了一次演講(https://www.youtube.com/watch?v=w-W4rx26m1g&feature=youtu.be),談到了在不久的將來,開發人員可能會被人工智慧和機器學習所取代。而這正是詹姆斯·馬丁在1982年所說的。
應用程序開發的未來
在一個一切都必須快速發展的世界中,低代碼平台和無代碼平台都可以為開發人員和使用它們的組織提供競爭優勢。但是,除非你只是開發最簡單的應用程序,並且對定製的要求很低,否則低代碼平台總是更好的選擇。
低代碼開發提供了更多的靈活性和更強的控制能力,這意味著你可以構建更加多樣化、功能更強大,響應更快速的應用程序。然而,與手工編寫應用程序相比,它仍然保留了使這些應用程序快速啟動和運行的簡單性。同時,由於低代碼開發仍然需要一些編碼知識,所以你知道創建應用程序的人員會正確地執行這些操作,而且你的新應用程序不會給你帶來任何安全風險或法律問題。
原文:https://dzone.com/articles/low-code-vs-no-code-form-following-function
本文為 CSDN 翻譯,轉載請註明來源出處。
【End】
※一名合格前端工程師的進階指南
※重磅!Python又第一了!網友:為什麼找不到好工作?真相讓人臉紅…
TAG:CSDN |