zhennann
V2EX  ›  Node.js

在一个项目中同时实现“后台管理系统”和“前台应用”

  •  
  •   zhennann · Oct 27, 2022 · 7341 views
    This topic created in 1302 days ago, the information mentioned may be changed or developed.

    微信一起点菜

    一个月紧张而愉快的开发又过去了。在这个月,开发了一个微信一起点菜项目,用来再次验证CabloyJS 全栈框架定制开发的灵活性和扩展性。实践再次证明,使用 CabloyJS 全栈框架开发项目确实可以做到多快好省。因为:

    1. 只需一个项目,既可同时实现“后台管理系统”和“前台应用

    2. 只需一个项目,既可同时跨端 pc 、mobile 。mobile 端是接近原生体验

    下面就以微信一起点菜为例:

    1. 前台点菜应用:https://test.cabloy.com/?appKey=diancai-h5%3AappDianCaiWechatH5&appIsolate=true

    2. 后台商家管理系统:https://test.cabloy.com/

    3. 以上两个链接可以分别用 pc 和 mobile 打开。全新交互体验,全新架构设计,试过便知

    截图

    后台商家管理系统

    PC 端

    dian-back-pc

    Mobile 端

    dian-back-mobile

    前台点菜应用

    PC 端

    dian-front-pc

    Mobile 端

    dian-front-mobile-1

    dian-front-mobile-2

    dian-front-mobile-3

    28 replies    2022-11-09 08:43:51 +08:00
    singerll
        1
    singerll  
       Oct 27, 2022 via Android
    不太理解所谓的只需一个项目就能实现 xxx ,可能是最近几年流行所谓的分离,其实七八年前单体架构流行时,很多复杂的应用,前后端也就一个包。。。。
    musi
        2
    musi  
       Oct 27, 2022
    这个 UI 感觉像是上个世纪的产物。。。
    lntouchables
        3
    lntouchables  
       Oct 27, 2022
    文艺复兴是吧
    ila
        4
    ila  
       Oct 27, 2022 via Android
    本想抄了,用其它语言练练手,发现没开源
    lyz1990
        5
    lyz1990  
       Oct 27, 2022 via Android
    感觉界面需要再设计下
    mengdodo
        6
    mengdodo  
       Oct 27, 2022
    转了十几秒转不开,果断关闭
    dengji85
        7
    dengji85  
       Oct 27, 2022
    地址打不开,页面好老,感觉是那种小型外包给小商店做的
    liuhuansir
        8
    liuhuansir  
       Oct 27, 2022
    没搞明白啥叫一个项目?一个工程?前后端分离的项目也可以放在一个工程下面,一起打包
    sarices
        9
    sarices  
       Oct 27, 2022
    iphone 初代 ui 的感觉,一晃眼已经超过 10 年
    muchenlou
        10
    muchenlou  
       Oct 27, 2022
    感觉是 JSP 和 sever 的那种模式?
    lllllliiii
        11
    lllllliiii  
       Oct 27, 2022
    3 分钟都没打开
    zhennann
        12
    zhennann  
    OP
       Oct 27, 2022
    @ila CabloyJS 全栈框架是免费开源的(超过 12000 次 commits ),这个“微信一起点菜”是基于 CabloyJS 的应用,只需很少的费用即可获取源码,还有配套视频。参见:CabloyJS 全栈框架: https://github.com/zhennann/cabloy ,微信点菜源码: https://store.cabloy.com/zh-cn/articles/bz-diancai.html
    kkshell
        13
    kkshell  
       Oct 27, 2022
    蜗速
    zhennann
        14
    zhennann  
    OP
       Oct 27, 2022
    @liuhuansir 就是一套代码,采用前后端分离设计,同时支持后台和前台应用的开发,同时适配 mobile 和 pc 。因为这是首创的全栈框架设计,所以一开始不是很好理解。其实,这才是最自然、最舒适的开发体验。
    zhennann
        15
    zhennann  
    OP
       Oct 27, 2022
    @kkshell 这是测试网站,资源有效,目前访问的人比较多,所以有点慢
    qW7bo2FbzbC0
        16
    qW7bo2FbzbC0  
       Oct 27, 2022
    第二张图有点设计感
    lan5635
        17
    lan5635  
       Oct 27, 2022
    文艺复兴!
    B1acKy1in
        18
    B1acKy1in  
       Oct 27, 2022
    Django:喵喵
    a2532521
        19
    a2532521  
       Oct 27, 2022
    开倒车了。。
    thetbw
        20
    thetbw  
       Oct 27, 2022
    界面设计的很有意思呀,还有应用的逻辑是怎么区分的呢
    haha512
        21
    haha512  
       Oct 27, 2022
    asp php jsp 时代,不一直都是这样的吗
    zhennann
        22
    zhennann  
    OP
       Oct 27, 2022
    @haha512 可以说是螺旋式上升。CabloyJS 虽然代码在一个项目当中,但仍然是前后端分离架构,内置完善的模块化体系。整个项目分为若干个业务模块。所有前端和后端代码都是在业务模块内部进行开发。这样解耦效果更好,心智负担更低。此外,还内置基于 Redis 的分布式组件(缓存、定时任务、队列、系统启动项、广播,等等)、内置原创的 NodeJS 工作流引擎,内置基于 WebSocket 的消息推送系统,等等。
    因此,基于 CabloyJS 全栈框架开发一个类似“微信一起点菜”的应用非常便捷,开发体验非常顺畅,质量也能得到保障。
    zhennann
        23
    zhennann  
    OP
       Oct 27, 2022
    @thetbw 在一个项目中,可以创建多个应用。不同的应用有单独的配置,包括页面整体布局、菜单布局、主页布局、个人信息页面布局,等等。因此,可以同时提供“后端用的商家管理端”和“前端用的点菜应用”。
    从概念上来说,“模块、套件、应用”,是 CabloyJS 应对大型项目开发的三架马车。“模块、套件”是在物理层面上对代码进行组织。“应用”是在逻辑层面上对界面交互进行布局,面向不同终端用户提供不同的界面组合。相关文档,请参见: https://cabloy.com/zh-cn/articles/app-introduce.html
    zhennann
        24
    zhennann  
    OP
       Oct 27, 2022
    @muchenlou 不是 JSP server 的模式,参见 #22
    zhennann
        25
    zhennann  
    OP
       Oct 27, 2022
    @B1acKy1in Django 只有应用的概念,而 CabloyJS 提供模块、套件和应用三架马车,代码组织和界面布局更加灵活,参见 #23
    B1acKy1in
        26
    B1acKy1in  
       Oct 28, 2022
    @zhennann include 不就行了
    zhennann
        27
    zhennann  
    OP
       Oct 28, 2022
    @B1acKy1in Django 中的应用相当于 CabloyJS 中模块的概念。比如,有一个 ERP 系统,可以有多个套件:OA 、CRM 、HR 、电商等。每个套件有多个模块,然后每个套件可以提供多个应用。每个应用对应着不同的界面布局,供不同场景、不同用户使用。
    zhennann
        28
    zhennann  
    OP
       Nov 9, 2022
    @kkshell 新版已经采用 CDN 加速了。在 CabloyJS 中配置 CDN 非常便捷,请参见文档: https://cabloy.com/zh-cn/articles/qcloud-cos.html
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3586 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 104ms · UTC 05:01 · PVG 13:01 · LAX 22:01 · JFK 01:01
    ♥ Do have faith in what you're doing.