强烈建议 Symphony 抛弃某些固执的过去,拥抱 Spring

本贴最后更新于 1362 天前,其中的信息可能已经时异事殊

强烈建议 Symphony 抛弃某些固执的过去,拥抱 Spring MVC,Spring Boot,Spring Cloud。然后再就是前后端分离。

  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    522 引用 • 4581 回帖 • 687 关注

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • adlered

    性能不差,用法不同,用户体验应该优先吧。

    有那么强烈吗?

  • 其他回帖
  • telami

    10 年前刚开始学编程的时候,曾经认识中国 Java 社区论坛开源的鼻祖 https://laoer.com/#,但是后来慢慢放弃掉了

    放弃掉了什么

  • 88250 1 评论

    感谢建议,很高兴能和你讨论这个话题。

    业界主流框架并不是所有项目的唯一选择,我认为使用自研框架更能体现产品的价值,这些不是“固执的过去”,而是对未来的考虑,所以 Latke 框架也是在逐步升级演进的,设计方面尽量考虑降低用户学习上手曲线,不存在高阶复杂的概念,仅围绕 HTTP 协议作为端点发布。

    从 Spring 家族发展史我们可以看到,近 15 年它的发展迅猛,架构用法变化很大,包括一些周边生态项目被废弃。使用 Spring 全家桶的优势是能够快速让大多数人上手,但带来的问题也很明显:难以保证产品质量,依赖项太多,版本兼容上也不可能做到完全融入用户的架构体系。既然还是要用户折腾,那折腾简单的框架不是更容易么?从过去 5 年 Sym 的用户反馈上看,几乎没有人抱怨过框架开发方面难以上手,Latke 本身也没有出现无法支撑应用场景的问题,所以其实并没有足够的理由来支持切换框架。

    前后端分离对于论坛社区类型项目并不是最优解,PC 端和移动端使用服务模板更好一些,如果要提供前后端分离,也是单独走 API 做一个端(多半是在移动端来做,可以是小程序,也可以是 APP 等),但项目主体还是服务端模板优势明显一些。

    总结一下,我们的目标是做好一款用户体验优秀的现代化社区论坛系统,技术只是实现它的手段,并不是我们的目标(何况有很多优秀的社区系统并不是 Java 写的,甚至所用的语言和框架也不是主流的),所以“固执的过去”并不是那么重要,重要的是如何在用户体验方面做到极致,接近这个目标后再考虑技术层面的重构也不迟 🙏

    1 回复
    说的对,目前主要是功能和使用体验最重要。体验牛逼,用户量会倒逼技术架构的演进。做产品还是要客户第一,优先满足业务需求
    cbam
  • 88250

    我觉得结合业务场景再谈技术选型才有意义,不是所有项目都需要类型框定的,这一点在为什么又要造一个叫 Latke 的轮子中有过表述。

  • 查看全部回帖

推荐标签 标签

  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 496 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    189 引用 • 1056 回帖
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 125 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 124 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 683 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 689 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    15 引用 • 7 回帖
  • 笔记

    好记性不如烂笔头。

    303 引用 • 777 回帖
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    261 引用 • 662 回帖 • 1 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    1 引用 • 11 回帖
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 166 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    330 引用 • 614 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    106 引用 • 152 回帖 • 2 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 449 关注
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 3 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖 • 1 关注
  • 安全

    安全永远都不是一个小问题。

    189 引用 • 813 回帖 • 2 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    534 引用 • 671 回帖
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 581 关注
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖 • 1 关注
  • 倾城之链
    23 引用 • 66 回帖 • 93 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 744 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 285 关注
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    7 引用 • 26 回帖 • 1 关注