V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  debuggerx  ›  全部回复第 1 页 / 共 49 页
回复总数  975
1  2  3  4  5  6  7  8  9  10 ... 49  
@flyqie 个人认为 react 是独立的前端概念形成以来,最伟大、影响最深远的前端思想。react 改变了前端开发的思路和模式,之后的各种 web 前端框架以及 flutter 乃至 swiftui ,compose 其实都是 react 思想的应用于特定场景和目的的产物。很多人可能不喜欢 react 而倾向于 vue 或者 svelte 等等,但其实更多的是工程上的区别,比如谁的 api 设计得更易用,谁在某些方面上的性能表现更出色,而不是“纯思想”上的对比。但是思想伟大并不意味着 react 在工程上也就无可挑剔,我用 js 写过 class 组件模式的纯 react 项目,也用 ts 做过 hooks 模式的,还写过不同版本的 next.js 和 taro ,虽然同是 react 系方案思想都一样,但其实开发体验差异是很大的,所以虽然我个人很推崇 react ,但是并不是很看好 rn 这种“在上层对齐各平台差异,底层使用原生组件”的跨平台模式。虽然我也很喜欢 ts 的语法,但是并不认为 js/ts 是足够适合跨平台的语言(原因看下面对 dart 的评价)
做跨平台,无外乎就是自绘和包装复用平台组件这两种模式,基于 web 的跨平台方案比如 electron 或者 webview2 ,其实本质也可以认为是利用浏览器内核做的“自绘”,但相比于 flutter/qt 的那种自绘要重得多。复用平台组件的模式一定会存在渲染不一致,依赖真机环境调试验证,框架和应用代码中存在大量判断分支,某个平台增加新特性或组件后需要持续适配投入大量精力的问题,这些是原理上难以避免的,反倒是很多人以为的性能问题,其实并不是那么的无解。所以一开始了解 flutter 是自绘的方案,我就认为这是一个加分项,一是其表现力的“上限”更高,二是由于自绘所依赖的底层相对都很稳定(比如 opengl ,canvas 这些东西),所以其本身也可以更加稳健,无需经常被平台牵着鼻子走,有问题持续优化总会越来越好。
我写过十好几种语言,dart 是我目前为止最喜欢的语言。除去个人喜好,客观来说 dart 其实是一门很适合跨平台的语言,首先是它原生支持 jit 和 aot ,分别可以实现前端开发时即时生效,边写代码边看效果(也就是所谓 hot reload 或者 live edit)的高效开发(比 java,oc,qt 这些强),以及在各个平台上无需虚拟机和复杂依赖而高效地运行(比 js/ts 这些需要解释器和 swift,kotlin 跨平台运行难度高的强)。再来这门语言的语法总的来说相当平庸(褒义),但凡了解过 java,js,python 等主流语言就可以很快上手,而且吸收了各种现代的语法特性,取得了开发效率和学习难度之间的平衡(比 go,rust 等特立独行的好掌握,比 kotlin 这种语法糖多到腻的简单),相对比较简单的语法特性也让它的 sdk 跨平台维护的成本较低,现在可以直接同时 compile 到 native binary 和 js 的语言就不多。很多人受不了 dart/flutter 的点无外乎是所谓的“嵌套”,我觉得主要是两点,一个是没有认识到 UI 的本质其实就是嵌套,用嵌套来表达 UI 其实才是最高效且接近本质的方式,再来就是被原生和 web 开发 UI 描述和逻辑分离的固有模式束缚,内心里抵触把整个 UI 应用抽象成“UI=fn(state)”这样统一的模型。其实 jsx 也是“ui in js”的方案,react 有段时间也推崇过“css in js”乃至“all in js”(个人认为它们没有普及成功更多是因为 js 本身的能力问题以及相关工具链没跟上导致的),可以认为 flutter 就是实现了终极版的“all in dart”,是一种 react 在跨平台领域的完全进化体。
18 小时 47 分钟前
回复了 unclemcz 创建的主题 Ubuntu snap 已经在污染 apt
@yyzh 你说的这个效果只要安装 command-not-found 这个包就能实现了,并不是只有 ubuntu 可以:
https://packages.debian.org/bookworm/command-not-found
https://salsa.debian.org/jak/command-not-found
https://wiki.ubuntu.com/CommandNotFoundMagic

类似的,有些发行版或者系统 tab 键补全效果不好,并不是发行版不行,而只是因为没有预装 bash_completion 包,自己装上就好
@Chad0000 继续发展下去,可能以后手表手机不需要触摸屏,电脑不需要鼠标键盘,而是只需要麦克风摄像头甚至脑机接口,本质上变成一样的“AI 终端”,除了屏幕尺寸没有任何区别了
@wxf666 QT,AvaloniaUI 主要都是桌面端,对移动端的支持差 flutter 不止一点半点,发展到现在,移动端的复杂性已经远大于桌面端了,所以但凡在跨平台方案的前提里囊括移动端,可选项也就没几个了。
你能让 AI 《写一个日赚过万的 App 》,为什么别人不能,为什么提供 AI 服务的公司不能自己让 AI 《写一个日赚过亿的 App 》?如果你以为 AI 是外挂,用了可以让人在游戏世界叱咤风云,那么实际情况很可能跟现在很多游戏一样,结果不过是变成人均外挂的神仙斗法,最后整个游戏乌烟瘴气,大家都没得玩。
2 天前
回复了 Kathy1989 创建的主题 程序员 如何看待敏捷开发?
理解错误。
如果是一家需求没那么多,业务相对稳定的公司,那肯定没必要敏捷,不存在增加工作量,做出错误决定的情况。
问题就在于如果是一家需求旺盛,业务极速发展,充满变化的公司,如果不用敏捷开发的方法工具,只会让开发团队更加焦头烂额疲于应对,出现 OP 说的那些情况,敏捷开发恰恰是为了在这样的情况下提高效率,避免疏漏,保证规范和代码质量的。
只是有些老板方向不清,水平拉胯,想一出是一出,别说敏捷了,就算给他开发梦之队也一样带不动,这不是敏捷的问题;当然也有一些 tech leader 水平能力不行,嘴上说敏捷实际只是瞎搞,将相无能累死三军……
在牛逼的团队和经验丰富的 leader 带领下实践过敏捷开发后,就会发现敏捷开发确实可以在“正常的”公司里提升开发工作体验,让本身就很优秀的工程师如虎添翼。
影响肯定有,有些重大功能和系统最新的特性支持没有公司全职开发,靠社区还是会比较吃力。但是 flutter 现在完成度已经很高了,是跨平台方案里综合水平最高最能打的,就算是把 flutter 相关的开发全裁了,停止所有支持,其优势也最少能保持 3 年,毕竟现在同 level 有能力的公司都在减少 UI 技术的投入,还在大力发展 UI 技术的公司实力和积累都差一截。(如果不裁员,flutter 至少是为未来 3 至 5 年的最优解,如果早期的那些核心开发大佬没走,这个优势很可能保持 5 年以上……)
其实,与其担心 flutter 的前景,还不如担心整个前端乃至“传统 IT”的前景。继续发展下去,AI 会平等的创死每一个人,前后端开发的投入和市场都会持续减少,甚至现在搞 AI 的那帮天之骄子最后也要失去资源,谁也不用说谁,都逃不掉
现在的新系统都用上了最新的图形技术,需要显卡加速的,虚拟机效果很差,最好还是物理机搞。
deepin 装一次系统也就几分钟的事,没必要虚拟机或者 Linux To Go ,直接双系统走起。
开发桌面应用那肯定是用真实桌面环境开发最方便了,qt 有 qtcreator ,不过我觉得不好用,还是一步到位直接 CLion 。资料的话就是 qt 相关,然后如果涉及比如托盘、窗口特效,那确实可能需要在不同 DE 下测试,一般的应用界面开发 QT 基本都会做好兼容的(不过要注意输入法插件的问题)。别家系统不知道,deepin 有些开发资料还是不错的,可以找找看参考参考。
5 天前
回复了 Flourite 创建的主题 Google 不要轻易入坑狗家的产品
[https://juejin.cn/post/7362901975421337651](Flutter:听说你最近到处和人说我解散了?)
MySQL 简单稳定可能是国内那帮搞互联网的说的最大的谎言。
MySQL 看上去简单,实际上限制和坑比 PG 多不少,简单写个 demo 随便跑跑可能还体验不出区别,稍微做点像样的项目差距就出来了。MySQL 一大堆的文章和中间件方案,很多都是因为自身的缺陷和问题产生的,其实只要耐着性子把文档看完,学习使用 PG 所要花的精力并不会比学 MySQL 然后各种避坑花的精力多,使用过程中也更加自由,不会多写两个 join 就要担心会不会性能下降。
用手机担心老化和电池鼓包,我是拿魔百盒跑 clash 给局域网机器提供代理
8 天前
回复了 bigbigeggs 创建的主题 职场话题 大家知道上海 xtransfer 这个公司么
面试前问 hr 加班情况,答不怎么加班,然后安排了 7 点线上面试,我等到 7 点 10 分没人进腾讯会议,于是联系 hr ,7 点 20 说面试官在开会,问我能不能等到 7 点 45 ,我说可以,然后一直等到 8 点还是没动静,我失去耐心回家了(一个小时里一直在当时公司大楼的楼梯间蹲着)
然后第二天 hr 联系我说不好意思,昨天面试官忙,能不能再约一次,约了晚上 8 点,这时候我已经没什么兴趣了,晚上 8 点还在面试的公司钱多一点也没什么意思,但是出于尝试的心态还是答应了,结果这次从 8 点又等到将近 9 点,还是和前一天差不多的状况,等不到面试官,于是彻底失去耐心。
第三天 hr 再次联系,说要不要再约时间,我说不要玩我了好不好,然后直接将其拉黑,此后 boss 上这家发来的消息一概不理
@debuggerx 哦,对了,我说的是 pg ,reaction 总数也可以直接用 json_array_length 函数得到。而且可以认为 jsonb 字段内的数据也都是有索引的,几乎不用担心 json 操作会有性能问题。
@des 你说的情况用 json 完全没问题,但注意说的是数据库的 jsonb 类型,而不是 json 转字符串存储。你可能是以为 1w 个人点击了,读取判断的时候就得返回包含 1w 人数据的 json 字符串,有一个人取消了,就得 update 一个 9999 人数据的 json 字符串?而实际是用 jsonb 类型字段做这个事情,新增和删除都只需要用语句直接更新变化的部分(用||和-操作符),判断某人是不是有 reaction 也只需要用 @>操作符就可以直接拿到,甚至有办法直接对 jsonb 字段的内容做分页,所以不管是代码简洁程度还是效率都很好的。
16 天前
回复了 hxd 创建的主题 程序员 怎么能边走路边写代码?
@Hyschtaxjh 傅红雪都得给你跪下
前些天上班一开机,强制登录微软账号才给用,无法跳过,公司安全策略又不允许,就卡在那里了,心急如焚……手机查半天看到有人说可以拔网线开机,才终于进入桌面-_-||
系统终端自启动有时候可以有时候不行,很烦,昨天换回 Linux 终于舒服了。
随手一搜就找到好多。
比如这个: https://pub-web.flutter-io.cn/packages/flutter_slider_drawer
还有一些自定义程度更高的:
https://github.com/medyas/flutter_zoom_drawer
https://pub-web.flutter-io.cn/packages/flutter_advanced_drawer

搞 flutter 就是要会搜 pub 库,很多情况下根本不用自己写,生态已经很牛批了。
35 天前
回复了 mmr 创建的主题 React React 大佬能不能给初学者给一些建议。
css 全用 flex 布局和 grid 布局就好了,做常规需求已经很简单也没什么恶心的了
37 天前
回复了 UncleCAT4 创建的主题 Linux 谈谈使用 Linux 三年以来的感受
刚接触 Linux 肯定是各种碰壁各种换,经验积累起来以后,能自己解决各种问题了,就可以稳定下来了。
我最早是高中那会儿在网吧用虚拟机玩,从 redhat 到 ubuntu 再到 fedora ,大学以后有自己的本子以后尝试使用过 lubuntu 、xubuntu 、startos 、mint 、arch 等,最终发现还是 deepin 最适合自己,于是到现在已经长期用 deepin 快 10 年了……
1  2  3  4  5  6  7  8  9  10 ... 49  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2387 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 10:03 · PVG 18:03 · LAX 03:03 · JFK 06:03
Developed with CodeLauncher
♥ Do have faith in what you're doing.