技术
我们构建项目所用的技术及原因
列出技术栈很容易,有用的是背后的理由——因为最终维护代码并雇佣他人维护的正是您。
技术栈
为您长期可用而精选
我们有意选择主流且获得良好支持的技术。考验的不是写起来是否有趣,而是三年后你能否招到人来维护它。
移动开发
原生
Swift
Objective-C
Kotlin
跨平台
Flutter
React Native
Xamarin
网页开发
前端
React
Angular
Vue
TypeScript
JavaScript
后端
Node.js
Python
Java
PHP
数据与存储
数据库
PostgreSQL
MySQL
MongoDB
同时也在使用
框架
- Next.js
- Nest.js
- Laravel
- Django
- FastAPI
- Svelte
- Astro
- Tailwind CSS
AI 与数据
- Mistral
- Claude
- OpenAI
- Llama
- LangChain
- pgvector
- Qdrant
- Pandas
云与 DevOps
- AWS
- Azure
- Google Cloud
- Docker
- Kubernetes
- Terraform
- GitHub Actions
- Cloudflare
- Redis
- LiteSpeed
平台与 API
- WordPress
- Shopify
- WooCommerce
- GraphQL
- REST
- Stripe
- Firebase
- Supabase
- Prisma
背后的理由
前端
Next.js(搭配 React 与 TypeScript)
默认支持服务器端渲染,这一点比以往更重要:AI 抓取工具(如 GPTBot、ClaudeBot 和 PerplexityBot)大多不会执行 JavaScript,因此客户端渲染的应用对它们几乎不可见。TypeScript 则能在构建时捕获类型错误,免费修复;若在生产环境中发现则代价高昂。
后端
Node.js、Laravel 或 Python——按项目选择
前端已使用 TypeScript 时,选择 Node.js 可共享类型,节省真金白银。若维护团队是 PHP 团队(在英国中端市场中常见),则选择 Laravel。若项目涉及大量数据或模型,则选择 Python。我们的选择基于谁来维护,而非我们自己。
数据库
PostgreSQL,或在主机要求时使用 MySQL
若项目涉及复杂数据结构、JSON 列或通过 pgvector 进行向量搜索,选择 Postgres。若现有基础设施或共享主机要求使用 MySQL,则选择 MySQL——这很常见且完全可行。
移动端
Flutter 或 React Native,在必要时使用原生开发
跨平台开发可节省约 30–40% 的成本,适合大多数业务应用。若应用严重依赖设备功能(如持续摄像、后台定位或复杂连续动画),则应使用原生 Swift 或 Kotlin。
人工智能
Mistral、Claude 及开放权重模型
基于您的自定义评估集进行基准测试,而非供应商排行榜。当数据不能离开您的基础设施且长期高并发时,自托管开放模型才有价值——这是计算结果,而非偏好。
基础设施
Docker、AWS 或您现有的主机
容器化确保本地与生产环境一致。我们乐意部署到您现有的主机,而非迁移至对我们更合适的方案。
我们的应用场景
技术栈相关问题
大多数情况下,一个问题就能决定:三年后谁来维护这个系统,且您能否招到这样的人?优雅但无人可用的技术栈是您将要承担的负债。我们还会衡量您现有的技术栈——为小团队引入第二种语言是实实在在的成本。
会,而且通常如此。将一个正常运行的系统重写为我们偏好的工具,通常不符合您的利益。我们采用您的开发规范、分支模型和代码审查流程。若我们认为某个技术选择确实在拖累您,我们会用数据而非偏好来论证。
在合适的情况下会——而且比开发者承认的更常见。如果您的团队需要频繁发布且无需开发人员即可获得完整编辑控制权,一个经过强化的 WordPress 构建是务实的选择。我们绝不会在其上堆叠两个页面构建器和二十个插件,然后说这是一个网站。
因为代码归您所有,而非我们。枯燥但支持良好、招聘池广的技术是交付成果的特性,而非缺乏雄心。我们会在新技术真正解决问题时使用它,并明确告知您的权衡。
