程序員修煉與低代碼平臺AppCube
編者按:這是本人在《云享讀書會——程序員修煉之道:通向務實的最高境界》的讀書筆記,首次發表于??https://bbs.huaweicloud.com/forum/thread-63227-1-1.html?第117樓。全文如下:

在我觀看《程序員修煉之道:通向務實的最高境界》的前四天,一直沒有猜到華為官方會以AppCube作為實踐作業為此次讀書筆記的實踐。畢竟一本由敏捷宣言的17個簽署者中的2名重量級人物David Thomas(大衛托馬斯)和Andrew Hunt(安德魯亨特) 寫的經典作品,難免不帶點“敏捷”的基因。
而華為云中,最跟敏捷適配的產品,應屬Devcloud了
(上圖為?輝哥的巴赫猜想)
華為云Devcloud是將敏捷的理念和實踐融合在一起,集Scrum,看板方法思想,Devops,持續集成為一體的一站式開發平臺。其功能包含需求規劃,代碼倉庫,代碼掃描,編譯構建,部署,測試等敏捷開發的各個流程。使用華為云DevCloud,基本上可以實現提交代碼到部署上線的一鍵部署。即您僅需在編輯器中使用Git工具提交您的代碼修改,后續的流水線作業(如代碼掃描、編譯構建、部署等)全部由華為云自動完成。您僅靜靜地用下面這個可愛的杯子泡杯茶,然后就什么事情都是華為云的了。
然而,我想錯了!實踐作業跟Devcloud并無半毛錢的關系。
當然,我又在揣摩自己,是不是因為官方聽了我的話,接收了我的建議,畢竟我在云享讀書會曾經提出這樣的想法:(參見?https://bbs.huaweicloud.com/blogs/169268)
即:學員已經對讀書會使用devcloud作為實踐作業產生了審美疲勞。。。能不能換一個。然后讀書會的組織者終于被逼的要有所創意,所以才換成AppCube?
我又仔細想了一下,好像我沒那么厲害。應該是我并沒有領悟到《程序員修煉之道》的精髓。直到2020年8月8日5:5這個對稱的時間,我突然想到了一個哲學問題——
程序員,活著是為了干嘛?改變世界?那是喬布斯的使命。我只能做個普普通通的程序員,希望自己能用這雙彈不了鋼琴的柔弱雙手,來維持自己微薄的生活。
那么,當我進入職場之后,多少會對自己的職業規劃產生迷惑。因為一般情況下,程序員的野蠻生長,無非最終歸結到兩條路:
成為技術專家,這個一般是以P開頭的職位,如阿里P6.
成為管理者,這個一般是以M開頭的職位,如阿里M2
對了,幾乎每個程序員的道路都離不開這兩條路中的一條,?除非他選擇了第三條路:放棄做程序員,改行去養豬。——請注意,我講的這個改行去養豬,其實就是低代碼平臺中所說的——業務人員。
請讀者不要小看這個養豬的,要是不懂得飼料,不懂得養豬技巧,不懂得豬瘟如何預防,是養不好豬的。而且,從道理上說,業務人員也并非低于軟件工程師(即程序員)一等。(在前兩天的泥石流群里的討論中,我還第一次聽到有項目在應用?業務敏捷??梢娒艚輳膩硪膊皇荌T行業的專有名詞,甚至它的來源之一的精益,也是出自于生產系統。)
那么,回到主題,作為一個程序員,我們到底應該如何成長呢?在現在這個專業分工越來越細的今天,就連以前簡單的JSP都變成了前端工程化,Java,C++,Python,PHP,Go,Ruby,JS等語言層出不窮,微服務、Serviceless、ServiceMesh、DDD、AI(機器學習、強化學習)、IoT、SLAM等技術也不斷出現。面對IT領域這一知識譜系。程序員如果一天不學習,大概就覺得自己要落伍了(這可能也是我為啥不敢落下每期云享讀書會的終極原因)
其實,低代碼平臺給大家的路線其實已經很清晰了。Low Code或者是No?Code,就是有這樣一個平臺,你只需要進行拖拉拽,就可以靠各種組件來實現你自己的業務。你可能都不需要懂代碼。當然,如果你懂一點代碼也沒事,你可以對組件本身做擴展,或者對組件的實現做一些擴展。平臺預留給你擴展組件或者擴展組件特性的能力。這就是低代碼平臺的目的:讓業務人員和軟件工程師都能成功地使用低代碼平臺(請注意這里有泄露自測題的答案。。。)那么,作為低代碼平臺的初級使用者,這也許是你當程序員頭幾年可以快速入門的道路。
然而,你一定會想?這就是那個在學校里面學了(大于等于)四年計算機的我嗎?當然不是。要知道,有些人很看不慣這種關于使用產品的問題,但是,一個好的程序員,絕對不會因為一開始老板讓你去學習使用產品而覺得老板輕視你,而是會覺得,這正是一個機會。如果自己的目標是做一個比較“偉大”的產品,那么,總得知道心目中的產品是怎么樣的吧?比如喬布斯的IOS、雷布斯的MIUI、還有華為的AppCube,正好是你作出一個好產品的參照物。你也許會這樣想:我以后也要做成一個像AppCube這樣一個偉大的產品(。。??磥硪呀洈[脫不了軟文的嫌疑了。。。)然后,你就會立足于,給AppCube多提BUG,多寫云聲建議。。。
是的,當你通過試用對AppCube等產品有了實際體驗后的了解之后,你一定會想:這樣的產品是怎么做出來的?需要怎樣的技術?我們還是可以初看上面那張圖:
對于AppCube的頁面工具(UI Builder)而言,支持拖拉式的UI頁面,使用VUE技術,融合了各種典型布局,由此來簡化頁面設計人員的操作,甚至使用UI Builder來制作頁面的人,都不需要懂JavaScript,ES6,CSS、HTML或者Vue.js。當然,作為想修煉的程序員的你而言,你需要懂。而且,你甚至可以通過了解UI Builder融合了哪些頁面模板,去思考這些頁面框架到底是使用什么技巧設計出來的。此時,你會發現,自己的目標已經變成了,如何掌握高深的前端開發技巧,做出一個類似UI Builder的低代碼頁面來了——你看,你已經為你自己找到了一條修煉之道——成為一名出色的能制作低代碼平臺前端模塊的高級程序員。
不僅僅是頁面,要知道,AppCube的業務流程,也是通過托拉拽的方式制作的。如下圖所示:
這個定義一個績效考評業務流程的方式,完全也是所見即所得的方式。對于利用圖形化的工具制作頁面本身,對業務人員而言,其實已經沒啥難度了。當然,對于每個節點具體的屬性定義,業務人員也許會感到有些吃力。
畢竟像上面的 {! performanceRevice.employeeName}?這樣的配置內容,業務人員還是需要有點理解才能會用。但是(初級)程序員在這塊,應該已經是游刃有余了。
那么,高級程序員在這里會想什么?——對了,高級程序員最會的就是合并同類項的操作(找出事物的一般規律)。我們該思考那些類型的節點(如活動由哪些,事件有哪些,網關有哪些),每個節點應該有哪些屬性和方法?這些屬性和操作該用怎樣的圖形化界面來展現,才能讓使用平臺的人用起來順手,也不覺得難?如何把看起來難度很大的東西做成一個類似LEGO搭積木就能完成的東西。體現高級程序員高級智慧的內容大概也就在此吧!
那么,我該如何抽取這些規律?這可能涉及到領域建模、業務建模、產品需求規劃、業務調研、技術調研、系統分析,架構設計等一系列環節。咦,系統分析員和系統架構師是不是就是搞這個的?有可能。初級程序員和高級程序員之間的分野大概也在于此。你看,我已經給大家找到了一條通過AppCube進行程序員野蠻成長的道路。
讓我們來回顧下《程序員修煉之道2》這本未拿到的書里面提到的一些關于程序員修煉的精華之語吧:(右邊是筆者的注解,正如我注六經~六經注我。。)
通過老師對《程序員的修煉之道2》的領讀,感到自己作為一名偽程序員,還任重道遠。很希望自己能通過更多的讀書會,贏得白(拿獎品)富(態的啤酒肚)美(得像羅晉),走向人生巔峰。
(全文完,謝謝閱讀)
云社區 應用魔方 AppCube
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。