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

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

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

  • Sym

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

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

    524 引用 • 4601 回帖 • 709 关注

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • Gakkiyomi2019 1 赞同 via macOS

    如果自己有想法可以自己尝试,不要你觉得,要我觉得。

  • 88250 1 评论

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

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

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

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

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

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

    什么叫固执的过去 😑

  • someone27889 via macOS

    Spring 除了设计思想,别的都太垃圾了

  • ZephyrJung via macOS

    开源项目自己试试啊,有这个想法的不止你一个,但是你想指挥作者就免了吧

    PS 我早说要换 spring 来着数次尝试夭折了 😂

    1 回复
  • 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 更新了该回帖
  • someone48938 1 评论 via macOS

    用 JSON 做实体这种操作很新颖,一定程度上也简化了开发(至少不用搞一大堆 data class 了),但并不是所有人都能接受 😂

    之前在一个公司内部技术群推荐过 latke,结果一群人,包括阿里 P7 来的一个大佬,都在吐槽这一点,说这是“反模式”😂

    2 回复
    所以 P7 就是他个人的上限了,这样的人适合拧螺丝,创造不了真正的软件。
    yoss
  • telami

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

    放弃掉了什么

  • 88250

    我之前提到过,现在暂时不是换框架的时机,用户体验和功能的完善更重要,等这两方面迭代告一段落,我们再考虑技术层面的重构。

  • 自己动手后才能体会到黑客派功能和设计上的完善,默默追赶中 trollface@88250

  • yoss

    你看你都放弃掉了,而 D 大靠这个实现了财务自由,还不足够说明问题么?并不是 D 大商业模式上考虑的太少,而是你考虑太少了。

    这是典型的程序员思维,想用技术驱动市场,但这不现实,对论坛用户来说 Java 还是 PHP 重要吗?功能特性重要还是技术框架重要?

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

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

  • 88250

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

  • wizardforcel 1 赞同 via Android

    技术驱动市场并不是不现实,而是你得先占领大部分市场,绑定大部分用户。然后那个时候你就说了算了。

  • wizardforcel via Android

    并不新颖,就是动态语言的常用做法。

    其实 controller 不怎么修改实体的,多数情况下就是拼接,然后传到 view。

    而且动态语言的哈希表操作更容易,不比对象复杂。

    view 那边因为模板引擎会在 obj.a 和 obj.get('a') 里面选,所以是兼容的。

  • 233333

    doge 上次还有谁强烈建议抛弃 spring 的。。。

  • adlered

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

    有那么强烈吗?

  • Eddie

    这就是技术届的政治正确

    1 回复
  • hefeng

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

    PHP 才足够正确 doge

  • 其实发个贴的初衷,不是从技术方面来讨论的,只不过觉得有所改变,会让这个社区更好。😄

    1 回复
  • yoss

    不从技术讨论,那选什么框架语言,有差别么?

    “有所改变”和“会让这个社区更好”有什么联系你到是说说看,逻辑比什么都重要。

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

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

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

  • yuanhenglizhen 1 赞同

    技术变革太快了,今天 spring mvc springboot springcloud 明天 xxxx 的。还是适合自己的最好,都是框架解决问题,易用方便就好。想用其他的框架的 认同这个理念的 可以围绕中心思想,自己做“外传“嘛。这只是我的预见

请输入回帖内容 ...

推荐标签 标签

  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖 • 1 关注
  • Outlook
    1 引用 • 5 回帖 • 2 关注
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 564 关注
  • Caddy

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

    10 引用 • 54 回帖 • 179 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 352 关注
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 643 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    20 引用 • 37 回帖 • 572 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    10 引用 • 15 回帖 • 1 关注
  • jQuery

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

    63 引用 • 134 回帖 • 736 关注
  • RemNote
    2 引用 • 16 回帖 • 26 关注
  • wolai

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

    2 引用 • 14 回帖
  • Excel
    31 引用 • 28 回帖
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    172 引用 • 1543 回帖
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    118 引用 • 54 回帖 • 5 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    376 引用 • 1862 回帖
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • C++

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

    108 引用 • 153 回帖
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 4 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    71 引用 • 535 回帖 • 831 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 52 关注
  • 分享

    有什么新发现就分享给大家吧!

    248 引用 • 1794 回帖 • 1 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    43 引用 • 44 回帖
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 612 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    29 引用 • 230 回帖 • 125 关注
  • Log4j

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

    20 引用 • 18 回帖 • 38 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    12 引用 • 59 回帖