V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhennann
V2EX  ›  Node.js

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

  •  
  •   zhennann · 2022-10-27 07:39:43 +08:00 · 6312 次点击
    这是一个创建于 760 天前的主题,其中的信息可能已经有所发展或是发生改变。

    微信一起点菜

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