Berke Özyaşar
博客

网站与移动应用一站式打包:Skymar 案例

我为 Skymar Lojistik 一手包办了网站、iOS 和 Android 应用、后端以及应用商店上架。一站式项目需要注意什么?

·
Skymar 网站首页

物流公司搭建数字化体系,往往是零敲碎打:网站由一个团队做,移动应用多年后交给另一个团队,两者之间的数据对接再事后想办法解决。我们为客户 Skymar Lojistik 走了一条不同的路:企业网站、iOS 和 Android 客户应用、应用后端以及应用商店上架,全部由我一手开发。我是 Berke Özyaşar,在这篇文章中,我以 Skymar 为例,介绍这种做法为什么行之有效,以及我在一站式项目中会注意哪些事情。

方案包含哪些部分

  • 网站:www.skymar.com.tr,土耳其语和英语。包括海运、空运、公路和铁路运输以及仓储页面,通过邮件转发询价的询价表单,CBM 计算器,Incoterms 2023 指南,带简历上传的招聘表单和新闻。基于 ASP.NET Web Forms,运行在 IIS 上。
  • 移动应用:使用 React Native 0.78,iOS 和 Android 共用一套代码。
  • 后端:Node.js 和 Express、Prisma 和 SQL Server;即时聊天使用 Socket.IO,通知使用 Firebase Cloud Messaging。
  • 员工与管理界面:发送通知、跟踪用户和操作日志、应用设置。
  • 应用商店上架:Google Play 和 App Store,发布在 Skymar 自己的账号下。

为什么由一个团队来做

网站和应用是同一家公司的两张面孔;客户不会把它们看成两个不同的产品,而是看成同一家公司。由一个团队负责时,会带来几项实实在在的好处:

  • 语言和术语一致:网站上怎样解释 FCL 或 HBL,应用里就以同样的方式呈现。两端的土耳其语和英语文本基于相同的决定编写。
  • 只有一个对接人:如果一项改动同时影响网站和应用,公司无需协调两家供应商。
  • 后端决策从一开始就定好:应用以什么权限访问哪些数据、哪些事件触发通知、文件如何提供,都在一开始就规划好。
  • 发布和维护在同一个日程里:商店更新、服务器变更和网站内容都成为同一份计划的一部分。

共用的后端

整套方案的核心,是移动应用与之通信的后端。应用不直接连接数据库;我用 Node.js 和 Express 编写的 API 负责身份验证,只向每位客户返回其本人的货运、文件和发票。数据访问使用 Prisma,数据存储在 SQL Server 中。这一层把应用界面与数据结构分离开来:将来新增界面或其他客户端时,可以通过同一个 API 运行,权限也在同一处统一管理。

客户应用里有什么

货运按订舱、在途和已到达三个标签分类;客户可以通过 B/L、集装箱号或自己的参考号找到要查的货物。从货运卡片可以进入 HBL 和发票单据。发票可按付款状态和日期范围筛选,并可下载和分享。在物流行业,客户最常问两个问题:“我的货在哪里”和“我的发票是什么状态”。应用的主要界面就是围绕这两个问题搭建的。

通知与聊天

通过 Firebase Cloud Messaging,船舶到港、新消息和发票都会触发即时通知。把触发通知的事件控制在少数几种很重要;每个小变化都收到通知的用户,最后会把通知关掉。聊天方面,客户可以在应用内向自己的客户代表发送照片、文件和语音消息;消息通过 Socket.IO 实时送达。聊天放在应用里,能把原本分散在邮件和电话之间的沟通,与货运信息集中到同一个地方。

员工界面

应用还有面向员工的一端。有权限的用户可以向全部客户或单个用户发送带图片的通知,查看活跃用户和操作日志,并可开启或关闭底部菜单中的标签和聊天按钮。最后这项功能看似不起眼,却很实用:想要临时关闭某个板块时,无需向应用商店提交新版本。

在客户自己的账号下上架

应用已在 Google Play 上架,并自 2026 年 6 月 23 日起在 App Store 上架,均通过 Skymar 自己的开发者账号发布。这样,应用在商店中以公司名义显示,账号也归公司所有。为了上架,我还准备了隐私政策、账号删除申请和儿童安全页面。把应用商店审核要求的这类页面与网站一起规划,是由一个团队负责的又一个便利之处。

两种语言,两个平台

网站和应用都提供土耳其语和英语。用 React Native 编写的一套代码同时支撑 iOS 和 Android 版本;新增功能时,可以在两个平台同时上线。由于后端是共用的,两个平台上的客户看到的也是同样的数据。

我如何规划一站式项目

当网站、应用和后端在同一个项目中时,工作的先后顺序就变得重要。我的总体做法如下:

  • 先定数据和权限:在明确客户能看到哪些货运、文件和发票,以及员工能执行哪些操作之前,我不会开始设计界面。
  • 再做后端:API 和通知基础设施搭好后,应用就可以基于真实数据开发。
  • 网站与应用并行:网站不依赖后端,因此可以在开发应用的同时推进;术语和文本在两端一起编写。
  • 从一开始就准备上架:公司的开发者账号、隐私文本和供审核使用的演示账号与开发同步准备;这样应用一完成就能上架,无需等待。

什么时候适合一站式打包

  • 公司要改版网站,同时也在考虑移动应用
  • 应用要展示的数据来自公司现有系统,这一对接需要一次性正确完成
  • 公司内部没有能协调网站、应用和服务器的软件团队

如果只需要网站或只需要应用,当然也可以分别来做;一站式打包不是必须的,而是一个减轻协调负担的选择。

类似项目

此前,我曾为物流公司的客户开发了 Buzmavi 和 Mitlog 应用;两者都已在 App Store 和 Google Play 上架,发布在各公司自己的账号下。Skymar 把这些经验连同网站、后端和员工界面一起,整合进了一套完整方案。移动端的工作方式,我在移动应用开发页面做了介绍;网站方面,请参阅企业网站开发页面。

更多文章

一起让您的应用上线吧。

用几句话说说您想做什么,我会当天回复。

↑ ↓ 浏览,Enter 打开,Esc 关闭