首頁>科技>

一為什麼要架構

1.1對產品層次的理解

都知道做出一個優秀的產品多麼重要。但為什麼要做產品,目的不過也就是為了賺錢。

每一個產品都有自己的特色,作為一個優秀的開發,不僅要有實現產品需求的能力,還應該擁有對未來產品需求變化而做的架構能力。這也是我們今天要分享的內容。

1.2淺談架構

架構是什麼?有一句非常有名的話可以概括:Architecture is like teenage sex,everybody talks about it,nobody really knows what is it。也就是說架構這東西是沒有具體含義的。

架構需要解決目前實際需要的問題。對目標系統的邊界進行界定,按某個原則劃分,設立溝通機制,並將其合為一體,完成目標系統的所有工作。

二對公司產品的思考

2.1對輿情祕書未來的展望

我們的主要業務是大資料分析,而我們的輿情祕書APP是資料的展示。所以我們要以資料提供的思路來規劃輿情祕書APP的未來。

輿情祕書移動端

2.2基本功能

做好基礎的功能,包括輿情瀏覽(顯示輿情資料)推送預警(對輿情資料的處理)事件分析(更深層次的定製化的資料分析)等更多的輿情資訊。做好APP中每個功能模組的展示以及各種各樣的邏輯處理。

2.3更賺錢的功能

現在的輿情資訊主要還是提供給大型機構,包括政府。而對於以後可能會有更多更多的方面需要用到我們的輿情祕書。可以是這樣:

a. 單獨使用輿情祕書APP

b. 作為一個或多個模組使用我們的APP部分功能

c. 定製APP內容,可能只是部分功能的定製

d. 我們的APP鑲嵌更多的對外功能

舉個實際的例子:

美團APP的外賣模組和美團外賣APP的主頁功能是一樣的,並且通過他們的技術文件獲知,這一外賣模組的程式碼是相同的,只是拼接到了不同的APP中而已。如圖:

兩個模組都是驚人的相似,我認為這是我們輿情APP所發展的方向:就是深度內嵌到客戶的App中,這也應該努力的方向。

三Android元件化架構

前面講了這麼多對未來的展望,一切不能只是空談,而是要理論結合事件,將基礎的程式碼功能要進行強化,而且要根據需要架構整個層次。

3.1基礎架構

(1)基礎庫Base,封裝很多的工具類

(2)App結構層,具體的App框架

(3)利用資料夾,分開各種功能模組

(4)應用層打包成具體的應用

這種層次結構保持著高內聚,並不低耦合,不適用於大規模的開發,對程式碼品質也不高,需求的變更適用性不強。

3.1.2模組化

模板層服務於多個分發業務的組裝。

3.1.3外掛化

使用者希望擁有新體驗的同時,又不希望App頻繁更新。

3.1.4元件化

不同的功能可以任意的組裝,適應各種需求,各種產品的產出。

2.2 元件化分發

3.2.1Activity分發

通過ModuleContext應用各個外接模組。

3.2.2Fragment分發

3.2.3View分發

3.2.4層級限制

3.3 元件化基礎

3.3.1AndroidManifest

(1)如果功能Module有Applicaiton,主Module沒有自定義Appilcaiton,使用功能Application。

(2)如果主功能Module有Application,則使用主Application。

(3)多個功能Module有Applicaiton,解決衝突後,載入最後一個module的Applicaiton。

(4)主功能Module,功能Module也有Applciaton, 最後使用主功能Applicaiton。

3.3.2Application

這個是整個應用的上下文環境,通過這個上下文的生命週期獲取全域性使用的Context,便於統一管理,避免濫用導致的記憶體洩露。

3.4元件化優化

這裡的優化不是程式碼的優化,而是工具的優化,指令碼檔案的問題,這裡簡單的概括為,將各個模組的配置檔案單獨建立一個公共檔案common.gradle進行版本號,依賴庫引用的統一控制。

3.5 元件化程式設計

3.5.1

本地廣播

註冊

傳送

3.5.2

元件化通訊機制

由於各個元件化模組都是分離開的,所以需要一個解耦的通訊機制:

3.5.3

元件化跳轉

統一的路由控制,使用時候進行註冊,這個即解耦合,又可以進行模組間的跳轉。

3.6 團隊化程式設計

架構是優化產品的工具方法,是一個人人需要遵守的大綱和規範。但開發過程中需要人人蔘與,所以提高每一個人開發能力是一個急需解決的事情。

3.6.1培訓和分享

其實,培訓和分享是兩件事,也可以作為一件事情來做。以領導為主的,下屬積極參與的形式來展開分享是一種不錯的方式。

分享的東西可以是多種多樣的,自己拿出來自己能夠拿的出手的東西來分享,不僅可以更有效的傳遞知識,而且還增加了大家的積極主動性。

3.6.2程式碼ReView

回顧寫過的程式碼是一種跟分享不同的存在,Review程式碼更具有針對性。

四對移動端未來的預測

隨著5G的發展,移動端會進一步成為人與人、人與物、物與物的主力,不僅僅手機開發,有可能還是各種物聯網的移動端開發。

降低開發成本,促成利益的最大化。近些年來跨平臺開發一直是眾多網際網路公司推崇的開發方式。就像PC端之間的跨平臺開發一樣,移動端的跨平臺一定會成為主流。即一套程式碼可以在多個平臺執行。

隨著華為推出的鴻蒙系統,我們國家越來越認識到擁有自己智慧財產權的重要性,移動端的軟體力度會進一步加強。

移動APP會是一個非常方便的工具,就像錘子手機的老羅所說的那樣,產品是為人服務的,一定要讓使用者感覺到爽、方便才行。

五移動端是很有前途的

未來將是移動網際網路時代,手機App將會是企業移動網際網路必備的身份證,是企業未來移動資訊終端的敲門磚。手機APP開發的不斷創新,始終是使用者的關注焦點,隨著網際網路越來越開放化,隨著各類移動終端裝置的普及,人們逐漸習慣了使用APP上網的方式,而目前國內各大集團公司、電商企業,均擁有了自己的APP客戶端,標誌著APP的商業使用已經逐漸普及,這為手機APP提高市場佔有率提供了條件。

在未來沒有主動適應移動網際網路的發展趨勢的企業都很大可能將被迅速的淘汰或邊緣化,新的市場格局和主導力量隨即形成。移動網際網路APP網站使用者規模,使用者的消費能力都對於整個產業體系產生深遠的影響,APP顯現出來的商業價值表示移動營銷的時機已經到來,在未來,企業將會把APP作為市場營銷的主戰場。

  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 比特幣發展史上較為嚴重的23起被盜事件,你知道幾個?(上)