1. 项目概述一个由社区驱动的疫情信息枢纽去年当疫情信息在网络上如潮水般涌现却又零散、混乱、难以实时核实时我和一群开发者、设计师、内容志愿者共同参与了一个名为Warga Bantu Warga意为“居民互助”的开源项目。它的核心目标非常纯粹将散落在各处、特别是那些以 Google 文档形式流转的、关于医疗设施、氧气供应、药物信息的宝贵数据转化成一个高性能、高可访问性、且信息实时更新的网站让任何有需要的人无论身处印尼的哪个角落使用何种设备都能快速、准确地获取救命信息。这个项目不是一个商业产品而是一个完全由志愿者驱动的社会倡议。我们面临的挑战是多维度的数据源是动态变化的 Google 表格用户可能在使用低端安卓机和缓慢的 2G 网络而信息的准确性又直接关系到生命健康。因此从第一天起我们的技术选型和开发原则就异常清晰——性能、可访问性和信息的实时性这三者必须成为项目的基石任何花哨但不实用的功能都必须为它们让路。我们选择了 Next.js 作为全栈框架用 Tailwind CSS 快速构建 UI并通过一套严格的自动化工作流来保障代码质量和部署可靠性。在接下来的内容里我将详细拆解我们是如何从零构建这个站点并确保它在严苛的真实环境下稳定运行的。2. 核心架构与设计原则解析在启动一个公益技术项目时最忌讳的就是盲目堆砌技术。Warga Bantu Warga 的成功很大程度上归功于我们在项目初期就确立并坚守的一系列核心设计原则。这些原则不是空泛的口号而是直接指导了我们每一个技术决策和代码提交。2.1 核心原则性能、可访问性与实时性我们的原则可以概括为“三要三不要”这直接塑造了项目的技术面貌。首要原则性能为王我们服务的用户遍布印尼群岛网络条件和设备性能差异巨大。一个在雅加达光纤网络下秒开的页面在巴布亚的乡村可能因为资源过大而完全无法加载。因此我们将Google Core Web Vitals作为衡量网站健康度的金标准。具体来说我们重点关注LCP (最大内容绘制)确保首屏主要内容如信息列表快速加载。我们通过 Next.js 的静态生成SSG和图片优化来达成。FID (首次输入延迟)确保页面可交互性避免用户点击搜索或筛选时卡顿。这要求我们严格控制 JavaScript 包体积并谨慎引入第三方脚本。CLS (累积布局偏移)防止页面元素在加载时突然跳动提供稳定的视觉体验。我们在开发中会使用 Chrome DevTools 的 Performance 面板和 Lighthouse CI 进行持续监控。核心原则人人可访问可访问性A11y不是可选项而是必需品。我们的信息必须能被所有人获取包括使用屏幕阅读器的视障人士、只能使用键盘导航的用户等。这意味着语义化的 HTML 结构正确使用