云行 AI 作为一个 C 端的平台产品,技术选型主要考虑目标用户的体验、开发效率、集成和可扩展性来进行选型。
前端技术选型:
优先考虑到用户体验,前端框架必须使用服务端渲染框架。框架要足够成熟、要有丰富的生态,这不仅是因为开发质量和效率,由于会更多使用 AI 进行编程,因此,成熟、丰富的生态就天然具备 AI 友好的特性,不至于实现某些功能时 AI 不了解组件用法给你自行胡编一通。基于以上考虑,前端框架确定使用 Next.js 来进行开发。
为了提升代码的质量和可扩展性,也考虑到以后需要进行长期迭代,前端语言采用 TypeScript。
UI 库的选择上,我主要考虑组件的成熟度和生态是否丰富,UI 设计要符合现代化界面要求,视觉上要具备基本的美观效果,我不希望后续迭代开发过程中还需要有个美工来设计页面。基于此,我选择使用 shadcn-ui 库,它不仅满足上述的所有要求,而且有很多优秀的主题网站提供主题配置,简直太完美了。
后端技术选型:
AI 领域的开发,第一选择基本都是 Python,Python 在 AI 算法、数据处理等方面都有丰富的开发库支持。但是,这样一个平台产品需要有较高的可用性和可扩展性,平台产品本身也是一个较为复杂的工程,对于这样一个企业级项目开发,Python 的工程化能力明显就要差很多了。 而且,这样一个 AI 应用构建平台很大一部分也是上层应用管理、数据、权限管理等功能,对于这样的功能任何语言都可以胜任的。
因此,后端我决定采用混合编程,平台上层管理功能使用 Java 进行开发,底层涉及到 AI 算法相关功能使用 Python 进行开发。这样就可以利用两种语言各自的优势,使用 Java 成熟稳定的生态、强大的并发处理能力和丰富的企业级框架来构建一个高可用性、高扩展性的上层管理应用,又可以使用 Python 完成 AI 底层模块的开发。
2025年5月2日