在一个项目中同时实现“后台管理系统”和“前台应用” - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhennann
V2EX    Node.js

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

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

    微信一起点菜

    一个月紧张而愉快的开发又过去了。在这个月,开发了一个微信一起点菜项目,用来再次验证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 的那种模式?
    lllllliiii
        11
    lllllliiii  
       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     Solana     2494 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 10:50 PVG 18:50 LAX 03:50 JFK 06:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86