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

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

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

  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台,“下一代的社区系统,为未来而构建”。

    518 引用 • 4554 回帖 • 650 关注

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • fpdan
    捐赠者

    Spring 对于 sym 的业务来说太厚重了,Spring Boot 中大量的“没用的”代码(自动配置等方便开发者的配置和大量依赖),分布式也不仅只有 Spring Cloud 一种,Dubbo 也可以,适合自己的才是最好的。

    D 在 https://hacpai.com/article/1403847528022 中写到自己开发的 Latke,用 JSON 做实体,是非常有趣的想法,在我看来破而后立是非常有趣且大胆的尝试。

    固执于一种语言,一种框架,而不是业务本身,反而有些本末倒置了。

    1 回复
    1 操作
    fpdan 在 2020-07-06 13:17:17 更新了该回帖
  • 其他回帖
  • 88250 1 评论
    订阅者

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

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

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

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

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

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

    我非常看好 Java 开发的社区,毕竟社区领域一直被 PHP 控制着 😂 ,从心底是希望我们这个社区能够抢占 PHP 的市场,因为我也为此奋斗过。

    但是社区,人气很重要,人气也肯定来自于大势。

    毕竟大多数公司招聘的方向也都是 Spring,Vue 等等,如果能够基于这个方向发展,更够引来更多的初学者加入。

  • ghostsf
    捐赠者

    前后端分离没必要啊,cms 类的还是模板渲染好一些。移动端对接 api 接口就是了。

    spring 也没必要吧,适用就行,反而还多了依赖限制。

  • 查看全部回帖

推荐标签 标签

  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    912 引用 • 1446 回帖 • 492 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    44 引用 • 551 回帖 • 431 关注
  • 创业

    你比 99% 的人都优秀么?

    79 引用 • 1392 回帖 • 42 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    6 引用 • 24 回帖
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    158 引用 • 590 回帖
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    155 引用 • 528 回帖 • 3 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:PipeSoloSymWide 等。

    1101 引用 • 3468 回帖 • 433 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    263 引用 • 245 回帖 • 508 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 68 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    157 引用 • 790 回帖
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    197 引用 • 2007 回帖
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 518 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    103 引用 • 126 回帖 • 556 关注
  • 导航

    各种优质网址链接、内容导航。

    23 引用 • 157 回帖 • 1 关注
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    83 引用 • 112 回帖 • 1 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 649 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 509 关注
  • 倾城之链
    14 引用 • 41 回帖 • 31 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    245 引用 • 1345 回帖
  • uTools

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

    6 引用 • 13 回帖
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 54 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    647 引用 • 529 回帖 • 361 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 531 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 14 关注
  • CodeMirror
    1 引用 • 2 回帖 • 38 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3048 引用 • 8175 回帖 • 454 关注