手机与 pc 做成响应式还是做两套? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kongkongye
V2EX    前端开发

手机与 pc 做成响应式还是做两套?

  •  
  •   kongkongye
    kongkongye 2023-03-07 09:12:27 +08:00 2985 次点击
    这是一个创建于 1031 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如 flutter ,可以编译为移动端原生应用与 pc 端原生应用,但 ui 上通常是两套不同的界面,所以比较纠结是一套代码做成响应式还是做两套代码。
    再比如 pad 这个中等大小的屏幕,究竟应该用移动端的 ui 还是 pc 端的?

    21 条回复    2023-03-09 09:26:31 +08:00
    kuxuan
        1
    kuxuan  
       2023-03-07 09:22:12 +08:00
    取决于你移动端和 PC 端的区别大小,如果比较小,用 1 套省时少力。
    tool2d
        2
    tool2d  
       2023-03-07 09:30:55 +08:00
    PC 如果是后台数据管理,一般来说都是需要独立开发的,界面复杂度和手机区别还是比较大的。

    如果仅仅是普通小 APP 的,做成响应式也可以。

    我写代码原则,核心逻辑绝不写两套,界面看需求而定。
    paopjian
        3
    paopjian  
       2023-03-07 09:39:03 +08:00
    信息量展现不同,PC 套移动的设计理念的话 UI 会显得很臃肿,最好还是分别设计.
    不过内容不多就直接移动端拉伸得了,省事
    kongkongye
        4
    kongkongye  
    OP
       2023-03-07 09:40:44 +08:00 via iPhone
    @tool2d 除去后端的接口,前端核心逻辑好像都是界面强相关的,一些通用方法可能抽取到单独的包里
    kongkongye
        5
    kongkongye  
    OP
       2023-03-07 09:43:18 +08:00 via iPhone
    @paopjian 如果是团队,不同端由不同人开发倒没什么,但如果都是一个人开发,两套通常意味着加一个东西要加两遍,就很烦
    tool2d
        6
    tool2d  
       2023-03-07 09:47:18 +08:00
    @kongkongye 以前我也逻辑和界面强相关,现在我写界面,都用抽象层自定义的 DSL 了。再通过中间层,转成前端可以识别的 jsx 。

    早期发过一篇相关的帖子。t/881306

    后来纠结了很久,最终决定把 UI 层给完全抽象出来了。
    tutou
        7
    tutou  
      nbsp;2023-03-07 10:07:26 +08:00
    @tool2d 大佬,能细说下怎么把 ui 层完全抽象出来吗
    nekoneko
        8
    nekoneko  
       2023-03-07 10:11:53 +08:00
    核心写一套, 其他的手机和 PC 分开写
    zeyandd
        9
    zeyandd  
       2023-03-07 10:12:10 +08:00
    界面不复杂的话 bootstrap 一把梭
    tyrone2333
        10
    tyrone2333  
       2023-03-07 10:16:06 +08:00   1
    做 2 套, 响应式改样式会疯的
    mozhizhu
        11
    mozhizhu  
       2023-03-07 10:19:29 +08:00
    手机的 100vh 和 PC 的 100vh 不一致以后,事情就复杂了;建议分开写; Pad 可以考虑用手机版响应式扩充。
    kongkongye
        12
    kongkongye  
    OP
       2023-03-07 10:30:31 +08:00 via iPhone
    @tyrone2333 我也觉得响应式掺杂在一起会调疯的代码没有可读性了
    polo3584
        13
    polo3584  
       2023-03-07 10:31:39 +08:00
    简单的应用可以一套,精细点就把 UI 层做两套,键鼠和触屏的操作逻辑会导致 UI 的细节不一样。
    deesan
        14
    deesan  
       2023-03-07 10:32:52 +08:00
    面向国外用户就做响应式,面向国内用户就做两套,pad 按 pc 来缩放
    centralpark
        15
    centralpark  
       2023-03-07 10:35:12 +08:00
    面向用户的界面用响应式做一套,后台只做 PC 端
    pianjiao
        16
    pianjiao  
       2023-03-07 10:38:33 +08:00
    一套 两套的工作量 其实差不多。 反而维护上 两套独立 更好维护一点
    tool2d
        17
    tool2d  
       2023-03-07 10:42:53 +08:00
    @tutou "能细说下怎么把 ui 层完全抽象出来吗"

    类似面向低代码编程,把所有组件和响应都做成 json 配置文件格式。

    只要不直接去操作 DOM 就可以,把 UI 当成一个封装好的暗箱。
    zictos
        18
    zictos  
       2023-03-07 10:50:00 +08:00
    简单的博客和商城可以响应式,太复杂的商城还是分开比较好。一般小网站都可以响应式。
    有时候响应式一套代码也搞得挺复杂的,很容易晕,分开写说不定还简单点
    sanqian
        19
    sanqian  
       2023-03-07 11:15:48 +08:00
    两套 到时候你 A 要适配 B C 要适配 A 你不得麻烦死何必呢
    tutou
        20
    tutou  
       2023-03-08 15:03:32 +08:00
    @tool2d 觉得你这个 idea 有搞头,有没有想法开源
    dandeli0n
        21
    dandeli0n  
       2023-03-09 09:26:31 +08:00
    两套省事
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2297 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 02:29 PVG 10:29 LAX 18:29 JFK 21:29
    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