学习了一下前端技术,比 20 年前的 Delphi 进步在哪呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
phpuser
V2EX    随想

学习了一下前端技术,比 20 年前的 Delphi 进步在哪呢?

  •  
  •   phpuser 2020-10-07 10:19:23 +08:00 6526 次点击
    这是一个创建于 1905 天前的主题,其中的信息可能已经有所发展或是发生改变。
    学习了一下 Vue,然后找前端框架( element UI,Antd)。

    突然觉得这不是和 20 年前做 delphi 时候一样一样的么? 找找控件、画画界面、调用一下 API 。。。。

    只是从 C/S,变成 B/S 了。

    那么这么多年的发展进步在哪呢?

    对 Vue 和 React 还理解不深,请指点,谢谢。
    38 条回复    2020-10-09 03:42:14 +08:00
    cmdOptionKana
        1
    cmdOptionKana  
       2020-10-07 10:52:51 +08:00   1
    都一样,没有本质上的进步,只有一些小进步,比如依赖管理比以前先进了,数据驱动比以前更受重视了,由于需要适应更多的屏幕尺寸而在响应式布局方面有进步等等。

    但有一说一真的没有特别突破的进步。
    Jirajine
        2
    Jirajine  
       2020-10-07 10:57:38 +08:00 via Android
    Vue 比较传统,看看 react,纯粹的函数式风格,抽象成一句话:f(state)=ui 。
    rekulas
        3
    rekulas  
       2020-10-07 11:00:09 +08:00   1
    我以前也做过一点 Delphi 之类的开发
    要说区别 应该就是开发速度、易用性、跨平台性、可扩展性等方面大大不同了
    毕竟你要比较本质的话,没那么容易升级的
    就如现代美食相比千年以前丰富了成千上万倍,但是基本的吃法都差不多...
    huayumo
        4
    huayumo  
       2020-10-07 11:07:24 +08:00
    其实都一样,我就在找好用的前端框架,组件多的,好看的,貌似国内做的很少,大部分都是国外的在做这种来卖.
    AmrtaShiva
        5
    AmrtaShiva  
       2020-10-07 11:08:08 +08:00 via Android   1
    @rekulas #3 现代美食基本营养搭配可言
    cmdOptionKana
        6
    cmdOptionKana  
       2020-10-07 11:30:30 +08:00
    这些年要说软件技术的进步,主要是 AI 技术吧?曾经有个标志性事件是电脑国际象棋战胜人类,象征着电脑可以通过运算速度来展示某方面的智能,几年前围棋战胜人类也是一个标志性事件,象征着电脑可以实现“模糊”思维,速度不够快也能解决问题,而且对于它在解决问题当时的想法,人类无法理解和窥探(它说在那里落子,一群专家看不懂那样下有什么好处,但最后它能赢)。
    TangMonk
        7
    TangMonk  
       2020-10-07 11:32:28 +08:00 via iPhone
    而且开发起来也没有 Delphi 顺手,可能是因为有 ide 加成的原因。
    cmdOptionKana
        8
    cmdOptionKana  
       2020-10-07 11:39:45 +08:00
    @TangMonk 不是 ide 的问题,是需求复杂度不一样,传统桌面 GUI 通常比较简单,通常布局写死也没问题。如果像现在这样要求各种变化效果、对用户的恰当引导、各种先隐藏然后根据用户行为或数据变化再显示…… 用 Delphi 也累也烦。
    hazyzh
        9
    hazyzh  
       2020-10-07 12:02:38 +08:00   1
    你这样说的话 后端 20 年内有什么进步吗?无非就是写写接口、对数据库增删改查、搞搞缓存。。。
    admirez
        10
    admirez  
       2020-10-07 12:03:34 +08:00 via iPhone
    用 delphi 20 多年的表示,这货最喜欢的就是做出东西但是做不到精致
    love
        11
    love  
       2020-10-07 12:18:12 +08:00 via Android   1
    曾经用过 delphi 的表示,界面开发主要挑战是状态管理,当前的前端这方面非常成熟,而 delphi 根本没这种意识
    jmjc
        12
    jmjc  
       2020-10-07 14:08:06 +08:00 via iPhone
    delphi 更简单,那年代对界面的要求能用就行,比不了,web 前端复杂多了,能干的事也多
    Tuerbatu
        13
    Tuerbatu  
       2020-10-07 15:04:22 +08:00
    b/s 本身就是革命了吧,c/s 时候想实现控件增加删除又或者是动态页面很繁琐。在 web 时代把数据展示和逻辑分离开之后,前端可以毫无顾忌的操作 dom 树来实现一些 c/s 时代想都不敢想的复杂操作。此外比其安装应用包,建立在网页上的及时渲染页面给人体验也非同日而语。
    huijiewei
        14
    huijiewei  
       2020-10-07 15:16:57 +08:00
    你这就有点搞笑了

    MVVM 这个概念马丁大叔 04 年才提出来的。。

    20 年前你就会玩?

    我最早接触 MVVM 也是 WPF 时期,之前根本就不知道
    happinessnch
        15
    happinessnch  
       2020-10-07 15:53:35 +08:00
    Vue 和 React 我理解的也不深,希望有人能纠正我。

    产品:Web 前端生态,都可以归类为 CSS+Javascript+Html+( Vue/React/等等)为主,包括 PC 应用、PC 网页、移动应用、移动网页、各种小程序,各个端都可以有解决方案,一劳永逸。
    Delphi 单纯的只是一套 Native 的框架,不可避免与平台关联要深一些。

    开发成本:由于产品侧的原因,Web 开发积累出大量的可复用组件和资源,可进一步减少开发成本;同时开发人员从培训、评价体系、招聘、管理也积累了大量经验。
    在这个方面 Delphi 早期也有着一定程度上的优势,现在完全被时代抛弃了。

    技术:Web 生态的框架,在 UI 层面都会强制引导,使用某种特定的编程模式和方法作为基础来开发,而 Delphi 只是对 View 做了隔离,用什么设计模式,使用什么编程方法,还是要从新来设计。
    (这里我也有个问题,我发现所遇到过的 Web 前端开发,普遍对 OO 或者其他设计方法理解的不是非常好,我是个案吗?如果不是,我觉得在这个强制体系下开发出来的东西不可能会很差,导致了对设计方式可以不重视的原因,我理解的对吗?)
    wanguorui123
        16
    wanguorui123  
       2020-10-07 16:13:44 +08:00 via iPhone
    进步在 Web 更像客户端程序了,由于 DOM 的灵活性和动态性,可以做以前客户端难以想象组件。
    以前 Web 开发复杂的组件比原生困难,现在被这些框架解放出来了。
    towser
        17
    towser  
       2020-10-07 16:37:43 +08:00
    进步在数据与渲染分离、MVVM 、独立的状态管理。

    Delphi 的 UI 设计模式大约等同于 jQuery 时代。

    在 ES5.1 定案并被广泛实现以前,Web UI 一直在追赶客户端 UI 。但现在已经赶上并且远超了(以至于出现了 electron 、mini-blink 这种反哺客户端的东西)。
    happinessnch
        18
    happinessnch  
       2020-10-07 17:09:52 +08:00
    #16 楼说的,组件技术应该也算一个。

    上面有说设计模式和设计方法的,这些又不是框架独有的,
    Delphi 也可以上 MVVM,那是不是可以说 Delphi+MVVM 就和现在 WebUI 前端框架一样了,显然不是。
    Nicoco
        19
    Nicoco  
       2020-10-07 17:57:02 +08:00
    本质的话,没升级
    alphardex
        20
    alphardex  
       2020-10-07 18:25:47 +08:00 via iPhone
    交互,delphi 能实现最基本的动画效果吗,不说 svg 和 canvas 这类复杂的效果,光 css 动画效果能实现吗
    WinG
        21
    WinG  
       2020-10-07 18:33:31 +08:00
    前者一个 hello world 200M,后者一个 hello world 200K 。体积差了 1000 倍
    loading
        22
    loading  
       2020-10-07 18:42:20 +08:00 via Android
    你了解一下 ie678 的时代,切图,table 布局,你就知道你当年用 dephi 是多么轻松。
    codermagefox
        23
    codermagefox  
       2020-10-07 18:49:36 +08:00
    思想永远的先进于工程的,但是你不能用思想的停滞来否认工程的进步.
    TangMonk
        24
    TangMonk  
       2020-10-07 20:18:51 +08:00 via iPhone
    @alphardex 可以啊
    agdhole
        25
    agdhole  
       2020-10-07 20:48:32 +08:00
    WPF 领先十年
    msg7086
        26
    msg7086  
       2020-10-07 21:27:15 +08:00
    「本质」当然是没啥进步的。后端也不见得有啥进步。

    一定要说进步的话,CS 变成 BS 本身就是进步,然后可维护性,扩展性,这些不都是进步吗。
    你 Delphi 能做到上午写完代码下午就能部署全球吗。
    你 Delphi 写的代码能轻松移植到移动端甚至游戏主机端吗。
    swsh007
        27
    swsh007  
       2020-10-07 21:32:13 +08:00 via Android
    delphi 仍然很靠谱
    不要拿 delphi7 或者更早的版本来说事
    namelosw
        28
    namelosw  
       2020-10-07 21:45:32 +08:00
    不一定进步,很多东西开发模式比几十年前都是退步,比如 Smalltalk,Lisp machine 啥的。

    不过学新东西也不建议拿老的思想网上套,不利于理解思想。看到好多人跑到一个新技术栈上就在新技术栈上找他们熟悉的老工具,比如 class,比如设计模式等等,这样既做不好新技术,也学不到东西。
    xuanbg
        29
    xuanbg  
       2020-10-07 22:13:03 +08:00
    @huijiewei 但 MVC 这种设计模式却是早在 1970 年就出来了,可能比这里所有人的年龄都大呢。。。
    lifetimeporn
        30
    lifetimeporn  
       2020-10-07 22:15:59 +08:00
    人到现在多少年了,进步在哪呢?都是靠脚走路
    wshcdr
        31
    wshcdr  
       2020-10-08 00:36:43 +08:00
    因为面对的场景和以前不一样了,现在的架构也有变化了, 主要是 view 变得更轻更纯了,后端也是因为有横向扩展的要求,粒度也变得更细了
    nightwitch
        32
    nightwitch  
       2020-10-08 00:47:18 +08:00
    正常,很多技术的雏形早在上世纪计算机诞生没多久的时期就被发现了。操作系统发展了这么多年,结构和早期 Unix 的大框架比起来仍然差不多。图形学里光线追踪的算法在 1968 就被提出来了,五十年后的今天实时光学追踪还是没搞定。计算机网络里,tcp/ip 是上世纪六十年代的东西了,到今天仍然还是那些东西。更别说其他行业,像机械里的好多东西都是第一次工业革命就玩剩下的了。。

    学习的目的就是看到这么多年的进步之处
    THP301
        33
    THP301  
       2020-10-08 05:04:25 +08:00
    区别没有太大,只是换了个外衣,换了个名字,换汤不换药
    haozes
        34
    haozes  
       2020-10-08 09:18:23 +08:00
    说 dephi 有点看不起现在的前端了。
    对比十年前的 WPF,的确没有超过。
    xx6412223
        35
    xx6412223  
       2020-10-08 09:33:35 +08:00
    因为前端的需求其实一直没有本质变化,
    est
        36
    est  
       2020-10-08 23:33:47 +08:00 via Android
    说 dephi 可能比较偏了,说 adobe flex 是真可惜。同样都是双向绑定状态管理的 ecmascript.....
    DoctorCat
        37
    DoctorCat  
       2020-10-09 03:39:02 +08:00
    模式不同了嘛。换个思路想一想:为啥用 Web 网页就能做的事儿(例如叫外卖) 一定要用 App 实现呢。做个 App 进步了吗?啥没进步?
    DoctorCat
        38
    DoctorCat  
       2020-10-09 03:42:14 +08:00
    当年是 PC 平台做 RAD 开发。 现在是 Web 平台(跨平台甚至跨终端)上做 RAD 么。
    论题可以改成:Web 相关技术让我们方方面面进步了吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3149 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 11:50 PVG 19: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