前言
大概五個月時間,我獨立開發(fā)了一套銀行科技部 OA 系統(tǒng),系統(tǒng)初期雖然業(yè)務簡單,但是項目骨架搭建完成,后面主要是業(yè)務模塊的開發(fā),而且項目涉及多個端,如 Java 后臺,PC Web 管理端,手機客戶端(iOS & Android)+ 手機 Web 前端(混合開發(fā)),正所謂麻雀雖小五臟俱全,開發(fā)過程中我還要兼顧已有項目的日常維護工作,所以該系統(tǒng)的開發(fā)工作大都是加班完成的。

Java 后臺基于 SpringBoot 搭建,二期準備基于 SpringCloud 升級成微服務,部署是基于 Docker 的 mysql,nginx 和應用鏡像,使用 docker compose 編排服務部署,二期可以考慮使用 k8s 做集群部署管理。Web 前端框架主要基于 Vue.js ,使用 Vue CLI 初始化項目,Webpack 作為包管理工具,前期沒有定制化 UI 需求,所以引入 element-ui 和 Vuetify.js 這兩個 Vue UI 組件庫,分別用于 PC 管理端和手機端,二期可能有設計師設計界面,需要自定義組件庫,對樣式的管理也是一項挑戰(zhàn)(手機端頁面已根據(jù)設計稿做了界面優(yōu)化,我發(fā)現(xiàn) Vuetity.js 很難定制化,幾乎大部分 UI 組件都要自定義,幾乎只用了 Vuetify.js 的布局組件)??蛻舳耸褂没旌祥_發(fā)模式,也就是內(nèi)嵌 WebView 訪問 Web 頁面,主要是因為開發(fā)資源有限,只有自己一個人,開發(fā)的一套手機端 Web 頁面可以供 iOS,Android 兩個客戶端使用,非常省時省力??蛻舳巳撁娑际?Web 通常會造成體驗差的問題,比如頁面的跳轉,原生的導航條等都很難被 H5 替代,所以我采用多容器 (每個 WebView 只加載一個頁面)結合原生的導航模式,配合 js-native-bridge 橋接進行通信,實現(xiàn)不同容器間的傳值與導航。
項目背景
我在某銀行的科技公司工作,領導希望自主研發(fā)一套行內(nèi)科技部的 IT 綜合管理平臺系統(tǒng),主要由我主導開發(fā)工作(會的技術雜一些),這套系統(tǒng)主要供科技部的同事使用,用于日常系統(tǒng)投產(chǎn),重大事件的指揮調(diào)度,項目管理,合同管理,運維管理等,基于角色,用戶,機構的權限控制也是必不可少。但是第一期主要以項目框架搭建為主,只實現(xiàn)了角色,用戶,機構的維護,日常系統(tǒng)投產(chǎn),重大事件的指揮調(diào)度,公告和消息的維護等模塊的功能。
個人介紹
我個人從 2013 年做 iOS 客戶端開發(fā)至今,期間短暫的接觸過 Web 前端開發(fā),一年的 Android 項目維護,該項目開發(fā)前無 Java 后臺開發(fā)經(jīng)歷,所以我想記錄下我這段時間的工作,對想從前端轉到后端的同行也會有一些幫助,當然主要還是自我的階段總結。后面我會介紹下整個項目怎么被一點一滴構建出來,其中也會涉及多個技術點和自己的思考。