- Things Overview: Things is a personal task manager with two Apple Design Awards, available on multiple Apple devices. The Cultured Code team cares about user experience, and their Things Cloud service has transitioned to Swift.
- Legacy Issues: The legacy Things Cloud service was built on Python 2 and Google App Engine, with limitations like slow response times, high memory usage, and lack of static typing. A custom C-based service was even developed for the push notification system.
- Switch to Swift: After exploring other languages, Swift was chosen for its potential and benefits. It offered excellent performance, predictable memory management, an expressive type system, and seamless interoperability. Apple and the open-source community showed commitment to Swift's evolution.
- New Service Architecture: The new Swift-based service architecture uses Vapor as an HTTP web framework with SwiftNIO as the underlying network application framework. A single "monolith" binary is compiled and used to run multiple services. It uses AWS, Terraform, Xcode, Docker, Kubernetes, HAProxy, Amazon Aurora MySQL, S3, Redis, APNSwift, and AWS Lambda.
- Testing and Deployment: The new system was tested alongside the legacy system during development to ensure performance and stability. After a year in production, Swift has met expectations, reducing compute costs and improving response times. A custom C-based push notification service was replaced with a Swift-based one.
- Conclusion and Encouragement: Swift has been a great choice for server usage, and the team encourages other teams to consider using it. They believe their server architecture is in great shape and are excited to build new features. For more information, see their recent talk at the ServerSide.Swift conference.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。