首页   注册   登录
 okampfer 最近的时间轴更新
okampfer

okampfer

Respect is not given but earned.
V2EX 第 113398 号会员,加入于 2015-04-25 17:55:38 +08:00
笔记本电脑的电池究竟怎么用才最科学呢?
硬件  •  okampfer  •  178 天前  •  最后回复来自 uvxxu
48
有什么 android app 能查看推送消息历史吗?
Android  •  okampfer  •  201 天前  •  最后回复来自 g22k
15
StackOverflow 的远程职位是否有时区限制?
  •  1   
    问与答  •  okampfer  •  2018-03-26 14:51:04 PM  •  最后回复来自 crysislinux
    25
    https://www.google.com/jsapi 有国内镜像吗?
    Google  •  okampfer  •  2017-11-05 21:29:11 PM  •  最后回复来自 ye10010
    3
    电脑屏幕无法调节亮度,跟我的 Linux 桌面环境有关系吗?
    问与答  •  okampfer  •  2017-05-25 18:56:30 PM  •  最后回复来自 Howlaind
    4
    okampfer 最近回复了
    我是一个后端出身(Java & C#.NET)的前端。

    我从 2013 年开始接触 jquery,2015 年开始学习 react。正值 ES2015 (ES6)横空出世,又学它,写好的代码无法直接由浏览器执行而需要转码(transpile),于是又看 babel 的文档,转完码还是无法由浏览器执行,又去学习 webpack (幸好当时已经有了 create-react-app),这些都学完了后才终于把 ES6 写的 hello world 在浏览器里跑起来!我记得当时就已经有人吐槽,摆弄前端工程化比写业务代码本身还复杂,吐槽的同时也感谢有 create-react-app 这种脚手架。然而实际使用当中我很快发现它无法满足所有需求,同时由于它不能修改 webpack 配置(是的,它是"0 配置"的,不过准确地说是"不能配置"地),只能 eject 出来自己改,头痛。这些都还没完,很快我又发现在一个稍大的项目当中,react 组件之间共享状态相当不方便,又去学习 redux,理解 react 的响应式思想并没有费多大劲,但 redux 的 flux pattern 着实把我难住了。直到几年后我做第一个前端外包项目时,才真正熟悉它。

    所以各位后端童鞋的吐槽我真是发自内心地理解。

    抛开框架,我觉得前端工程化之所以这么复杂是因为长时间里没有统一的模块系统,以及浏览器对新标准支持的滞后性。ES6 时,终于有了 import/export,但无奈浏览器支持没跟上,长时间里无法 100%支持 ES6 及这个模块化标准。

    1. 无法 100%支持 ES6,就需要转码。不仅是 ES6,之后的每一代新 ES 标准出来后,浏览器跟进都会滞后。
    2. 不支持模块化标准,就需要第三方库来解决依赖关系(包括代码和静态资源),比如 webpack,它不仅解决依赖关系还负责打包。

    一言以蔽之,我们写的代码和浏览器能懂的代码之间有鸿沟。我们写的前端业务代码,必须借助其它工具处理之后,浏览器才能执行。这个处理过程需要配置,有时配置负担甚至会大过业务逻辑的复杂度,导致"配置地狱"。

    2020 年了,主流浏览器(不包括 IE,IE 不是主流是毒瘤)已经 100%支持 ES6 了,包括 import/export 这个模块化标准。不过静态资源的模块化还得再等等,Web Components 标准里有了 CSS module 第一版(不是 https://github.com/css-modules/css-modules),微软也在提把 svg 等图片资源模块化。相信近几年的将来,import 静态资源不需要 webpack/rollup 去做什么处理浏览器也能懂了。虽然没能完全填平鸿沟,但也好了不少。可以看看[这篇文章]( https://philipwalton.com/articles/using-native-javascript-modules-in-production-today/)。

    再来说说代码框架。

    我觉得 react 并不是很难,但是它的配套生态比较"散乱"(facebook 官方并未提出完整解决方案),而 vue 则有官方全家桶(vue-router & vuex & vue-cli)更加完备。

    - redux 样板代码太多,建议采用 dva/rematch 这些衍生框架; vuex 更简洁完备,selector 也有了,而 react 那边还需要 reselect 之类的 library。
    - 模块化 CSS,react 没有官方解决方案; vue 则有<style scoped>。
    - create-react-app 配置灵活性远不如 vue-cli。

    所以,从后端转前端,我觉得 vue 是个比 react 更好的选择。不过我个人更喜欢 JSX 那种"一切皆为 JS"的写法。

    前端已经过了刀耕火种的时代,相信未来的前端工程化会越来越简便。

    若我以上的理解有误,还请各位前端大佬指正。
    应该是基于 electron 吧?
    26 天前
    回复了 lemonTreeTop 创建的主题 问与答 问下你们平时自己煮吗
    我有位朋友会提前把一周的肉都卤好然后放冰箱,每天煮点蔬菜再配上卤肉吃,周末外出打牙祭。卤煮真是个方便的办法。
    @letitbesqzr 请问这个"下发到华为钱包"是怎么操作的?

    还有就是是不是可以用华为钱包里的信用卡支付?
    33 天前
    回复了 wsseo 创建的主题 Linux uos 好像就是 deepin
    希望国内银行系统能推进技术革新,抛弃对 IE 的依赖,这样国产 linux 发行版的推广也能少些障碍。唉,希望谈不上,就算是奢望吧。。。
    34 天前
    回复了 SHIWWW 创建的主题 程序员 有点怕,最近这是怎么了
    记忆力突然减退要警惕脑血管疾病?
    各位 1+、小米、魅族的售后怎么样?
    50 天前
    回复了 idealhs 创建的主题 互联网 暴风影音凉凉~
    @M2K4 现在区块链概念炙手可热,还可以再炒一段时间。
    54 天前
    回复了 io123 创建的主题 互联网 各位今天的 github 还能上吗?
    成都电信,不仅 github 打不开,stackoverflow 也超时了。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2591 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 09:31 · PVG 17:31 · LAX 01:31 · JFK 04:31
    ♥ Do have faith in what you're doing.