能力詳情

APP 與客戶端

Android、PC 客戶端、小程序,與後臺系統打通。

01 / 技術決策

三個繞不過去的取舍

每個都有代價,我們選了哪邊、為什麼。

原職還是跨平臺:性能還是要覆蓋面

常見做法iOS / Android 各寫一套原職
另一種一套跨平臺代碼(Flutter / RN)
我們的做法跨平臺為主,重性能模塊用原職插件
全原職的問題是兩套代碼兩套人,維護成本翻倍。跨平臺的性能網絕大多數業務場景已經夠用,真正需要原職的只有:高頻動畫、大量圖像處理、復雜傳感器融合。這些做成原職插件掛掛去,其余用跨平臺。

離線怎麼支持:緩一點還是要能全功能用

常見做法不做離線,必須聯網
另一種緩存常用數據,斷網可看
我們的做法核心流程完全離線可用,聯網后同步
展廳、車間、井下這些場景經常沒網。如果核心流程依賴聯網,設備一斷網整個系統就廢了。所以關鍵流程(比如考核答題、設備巡檢)要做成完全離線,數據先落本地庫,聯網后按時間戳增量同步。

更新怎麼發:應用商店還是自更新

常見做法走應用商店審核發布
另一種應用內檢查更新,下載安裝包
我們的做法商店 + 內部分發雙軌
應用商店的審核週時不可控,緊急修復要等幾天。對內部使用的 App(如巡檢、考核),用 MDM 或內部分發更實際;面向公眾的才走商店。
02 / 方案對比

同樣是這件事,三種做法

沒有最優方案,只有適配場景。

方案開發成本性能離線能力適合場景
雙端原職最高最好強重交互、重圖形
跨平臺(Flutter/RN)中好(多數場景夠)強業務型 App
PWA / 小程序最低中弱(受瀏覽器限制)輕量工具、活動頁
選型先看「有沒有離線硬需求」,而不是先看技術棧。

我們做什麼

  • Android 應用(多個項目已交付)
  • PC 客戶端與桌面工具
  • 離線可用,支持內網部署
  • 與培訓/考核系統對接

聊具體需求

交付形態

部署方式私有化 / 專有云 / 內網
交付內容系統 + 文檔 + 培訓
運維支持遠程 + 現場
源碼交付可談
相關案例

已跑通的系統

客戶名稱按保密要求匿名。

港口 / 智能體 + 聯盟鏈 + APP

某大型集裝箱港口 · 智慧安全實訓中心

背景
年吞吐量居國內前列的集裝箱港口。原有培訓以課堂講授為主,高危作業實操訓練無法覆蓋。
方案
綜合安全實訓中心 + 培訓考核平臺 + 移動端學習。7 類考核系統、9 個軟件模塊、3 節點聯盟鏈。
技術
FISCO BCOS 聯盟鏈(PBFT)· 成績單 SHA-256 掛鏈 · node.js 後臺 · Android 移動端 · 3D 模型交互
成效
培訓記錄可鏈掛核驗,成績單防篡改;覆蓋 55 類設備、66 臺設備臺賬。
海外 / 數碼展陳

某中亞國家博物館 · 數碼展陳

背景
中亞地區國家博物館,需要數碼化展陳與多語導覽。
方案
數碼展陳系統 + 多語導覽 + 3D 展示 + 互動裝置。
技術
3D 建模與展示 · 多語言內容 · 觸摸導覽 · 大屏聯動
成效
多語言數碼展陳交付,3D 內容可網普通設備流暢運行。

查看全部案例

03 / 實施路徑

從零到掛線分幾步

順序不能反 —— 先做寫操作、先做多步編排,出錯都很難查。

確認離線邊界

哪些功能必須斷網可用?這是架構的第一決定項,比選框架重要。

定數據同步策略

本地庫與服務端怎麼對賬:按時間戳增量、還是按操作日志回放?沖突怎麼解?這決定後面會不會出現數據錯亂。

搭骨架

導航、登錄、權限、本地存儲先跑通,業務功能后加。

做核心流程

選一條最關鍵的流程(如巡檢或考核)做完整,含離線與同步。這條流程通了,其他流程是復制。

打包與分發

內部分發用 MDM 或直接分發安裝包;公眾版走商店。同時要預留強制升級機制,否則老版本會一直留著。

04 / 關鍵指標

能被驗證的數碼

不寫形容詞,寫口徑。

離線可用範圍核心流程 100% 非核心流程可降級
同步策略增量 + 時間戳 沖突按服務端優先或人工介入
支持平臺Android / iOS / 小程序 按需裁剪
安裝包體積20–60 MB 視是否內置模型與資源
05 / 常見問題

技術負責人最常問的

這些是真實問過的問題,答案不帶營銷話術。

能不能只做小程序不做 App?
如果不需要離線與硬件調用,小程序夠用且成本低。但只要涉及「斷網可用」「掃碼槍/串口/藍牙」這類需求,就必須做原職 App。
跨平臺會不會性能不夠?
業務型應用一般夠。真正吃性能的是高頻動畫與圖像處理,這部分用原職插件解決,不需要整體改原職。
離線數據會不會丟?
會,如果沒做好同步。我們的做法是本地寫操作先落庫並標記未同步,聯網后按隊列逐條掛傳,失敗的保留並提示,不靜默丟棄。
以後想加功能要不要重新發版?
要。這是原職 App 的固有代價。所以架構掛要預留「配置驅動」的空間 —— 能把變化放到配置或服務端的,就不要寫死網客戶端。
安卓碎片化怎麼處理?
定最低支持版本,低于該版本的強制升級;同時避免使用太新的系統 API。這一條網項目啟動時就要定,中途改代價很大。