干技术的,谁不贪新?总觉得手里攥着最新框架,项目就能一路绿灯。可现实呢?根本不跟你讲道理。前阵子我看一个组,刚把一套吹上天的“云原生全栈”环境搭起来。服务器风扇转得跟直升机似的。转头业务方甩来一句:“就做个地图标注,能标个店在哪就行。”就这?硬生生扛着一套重型架构。开发进度慢得我想砸键盘。技术栈叠得再高,真能折算成业务多赚的那几块钱吗?这事儿,大抵就这么个意思。

前两天翻马林兵的《Web GIS原理与方法教程》,突然被一种久违的实用主义戳中了。这老哥不整虚的。没在那些飘在云端的抽象架构上磨洋工,而是实打实地把市面上四种主流Web GIS平台的设计门道、开发路子,全摊开揉碎了比。连完整的源程序都给你备齐了。他想递什么话?就一句。技术系统值不值钱,压根不看你站在技术栈的哪个山尖儿上。就看它在具体业务里,能不能顺顺当当跑起来。不卡壳。

GIS这行,底子就俩字:对齐。空间数据得跟现实世界严丝合缝。把这股子劲儿用到开发上就通了。脱离场景扯架构?跟不看地形瞎指路有啥两样。书里扒开四种平台,真不是为了搞排位赛分个高下。是把它们的“适用地盘”划得明明白白。有的确实能扛海量空间数据的实时渲染,看着唬人。有的对轻量级移动端交互更顺手,跑起来轻快。作者直接把源码实例拍在桌上提醒你:挑了平台,后续的二次开发、接口对接、性能调优,都得顺着它的底层脾气走。非要用A平台的逻辑去套B平台的坑。只会悄悄攒下一屁股技术债。选技术栈从来不是什么学术竞赛。说白了,就是掂量。手头的资源。眼前的需求。未来的维护成本。哪边重,就往哪边靠。

这毛病,咱们日常敲代码的时候,熟得让人心疼。办公室角落那工位上,总有人明明累得眼皮打架,还在死磕一个根本用不上的高级特性。为啥?真不是为了代码写得漂亮。纯粹是需求没想清楚。不知道停下之后该干啥。只能拿“技术升级”来堵自己的慌。马林兵把平台拆解得越碎,越能照出咱们的窘态。工具再锋利,也得看握刀的人知不知道自己要切的是哪块肉。说句大实话。很多时候不是技术选错了。是业务方自己都没想明白,到底要啥。

放到工程现场,这套逻辑确实没毛病。但事儿,往往就在这儿卡壳。要是场景自己会跑呢?今天你为了省事选了个轻量级架构。明天万一业务要扛住百万级并发。当初向现实低头挑的玩意儿,会不会直接勒成未来的紧箍咒?说实话。书里主要盯着静态场景适配。对技术债怎么滚雪球、长远怎么演化,确实没怎么费笔墨。实用主义嘛。肯定先管“眼下能不能用”。顾不上回答“这玩意儿能撑几年”。业务边界一旦疯长,当初贴得太紧的架构,往往连个喘气的弹性都没有。这点我未必觉得能全盘照搬。毕竟市场不等人。但换个角度想。贪大求全的架构,死得可能更快。

换个说法。妥协可不是把底线扔了。真懂行的老手,是在摸清平台底细之后,提前留好扩展的口子。而不是瞎追求什么“大一统”。书里教的开发路子,其实透着股克制劲儿。先把核心功能撸顺。再根据实际负载慢慢调。它不教你怎么从零造轮子。只教你怎么把现成的轮子推得飞快。顺着这个理儿看,作者的逻辑是闭环的。就差读者自己往里补上“往后怎么演进”这一笔。可能咱们得自己加个心眼。别光看眼前的苟且。

绕回开头那句话。咱们总迷信技术越新越香。这本书却用一套近乎笨拙的逻辑点醒人:脱离场景的先进性,纯属自我感动。技术选型压根没有标准答案。就是个不断往真实需求上靠的校准过程。下次再碰到新平台,不妨先掐自己一把。我的场景,真非得用它吗?毕竟,能跑通的业务,才是好架构。