个人觉得各种新 工具/框架/语言 可以不用追得太勤,
刚开始雷多容易浪费很多时间, 本身又可能大改版 (看看ng),
也不一定能打开市占说不定不到两年就式微,
真要用时再跟官网教学跑一下上手也很快,
实在没有花大量时间心力追踪的必要性/价值
但是基础项目的进展/新规格倒是可以追一下,
虽然一开始支援度也不好不太能实际运用,
但是追基础项目有额外的好处,
就是对整体运行环境更全面与透彻的了解
而学那些新东西只是个开始, 重要的是去知道为什么要有新东西,
旧的东西有什么问题, 新的东西能解决什么问题,
再更进一步去了解为什么会有那些问题,
理解那些 "为什么" 之后, 才能帮助未来在解决问题时做出更恰当的选择
让你能
解决更多原本难解或放弃的问题
或
用更好的方式解决一样的问题
具体来说可以怎么做呢? 以文中提到的排版为例
1. 多查文章
例如估狗
"XXX layout advantages disadvantages"
"XXX vs OOO"
"XXX shema" (找 w3 的文件)
"XXX performance"
多看一些就会对于每一种做法的优缺点有概念
比方 w3 文件就会讲为什么要做 grid,
过去用 table 有什么问题, 用 grid 有什么好处
https://www.w3.org/TR/css-grid-1/#background
有需要的话就写些小范例测试一下
2. 试着追根究底
例如 "慢一秒"
为什么会慢一秒? 为什么为什么为什么?
是因为 dom 元素比较多? 元素特性本身需要浏览器做较多的运算?
还是其它?
如果是很多运算, 那为什么会有很多运算?
是什么特性或规格要求造成需要那么多运算?
(ex table 自动对齐, flexbox/grid strech/自动调间距等)
搭配 1., 可以做进一步的确认,
另外能更广泛也更深入的了解其它部份
一样的有需要的话就写些小范例测试一下
比方排版
会用 table/div/flexbox/grid 排版只是刚开始,
接下来要用以上 1. 2. 的做法去找出问题及原因
ex
table 天生 dom 元素就是会多,
可是它支援自动对齐很方便
但是因为自动对齐动不动会触发浏览器重算...
另外它本身个性很强, 给它 tr td 的 style 经常是被当参考而已,
容易被内容撑大
另外 IE 上还有对行/列数的限制
div 嘛...就 div,
目前最普遍大多数人最熟浏览器支援度也最高
排版时操控性狂胜 table, 但要桥很细部的间距/对齐还是有点麻烦
flexbox 支援很多排版模式, 相当便利,
很多时候用 div 要自己桥半天的用 flexbox 省事很多
(ex 不定数量元素等间距)
它是用来做一维 (一行或一列) 的排版, 适合排小区块,
用巢状 flexbox 排全部就各方面来说不会是个好主意
另外较老旧的浏览器哭哭
grid
以 CSS 的方式做到如 table 的二维排版
但是它不像 table 依赖 dom 元素,
而是另外以 CSS 做设置,
适合排大区块
但更新, 老浏览器哭哭
经过以上就可以得到很多 "原件"
排版 对齐 style 重算 一维 二维 浏览器支援度 dom数量
之后有目标要达成 或有问题要解决时,
它们就能给你依据
ex
有一批资料要显示, 数量不会很大
== 设计对白 ==
嘿 XXX 十分钟内把某某资料印成表格给我
== 设计对白 ==
> 用 table 很方便的快速完成吧
有个专案要支援到 ie8, 但版面要求普普, 不要破图就好
> div 无双, 搭配写死的 size/留白,
不用一堆动态调整效能也比较省
某网站只需要支援最新的 FF/Chrome
但要求的排版细节用 div 或 table 相当难桥
> 用 grid 排页面 layout, div 排简单的部份,
flexbox 排复杂的细部
总结,
学新东西只是个开使, 要顺着继续往下钻,
顺便对 "那些东西" 以及在它背后的整个运行环境做深入的了解,
学习会更有意义&帮助
大概是这样
※ 引述《peanut97 (丁丁)》之铭言:
: 做软件这一行,如果有热情的话好像都过得很快乐。
: 小弟是工程师。
: 自觉没有很高的热情,能时时研究新技术,并用新技术来解决问题。
: 如果趋势已经变了,当然还是会学。
: 但是每一次在学新东西时,并不会有很高的兴奋感。
: 拿新技术来解决问题时,也不会有很大的成就感。
: (好像很多人会因学习新技术而来解决问题,会有开心感?)
: 我总是觉得:这种东西,用以前的方式也能做啊。只是慢了1秒。
: 就像网页,以前都用table排版,后来变成 div排版,现在主流是flexbox排版
: 而grid 排版等著在后面。
: 我也觉得table排版很废,现在也是跟着主流使用flexbox排版,
: 也觉得很棒,好多东西都排的出来!甚至可以说“用flexbox排版 没有排不出来的版”
: 但是总会觉得,明明flexbox已经这么好用了。为什么人还要发明grid?
: 过了一阵子又要学新东西[email protected]@
: 曾经问过热爱技术的主管这个议题(我们是该追求技术还是追求解决问题就好?)
: 他短回:你用表格排版也能解决问题啊。
: 不太知道怎么形容我的感觉。
: 或是遇过有些人,总是能对“新技术”提出他自己的看法。
: 例如前阵子 React.js, Angular.js. Vue.js 出来没多久时
: 在社群聚会上,就看到有人谦虚的说他三个都用过,他觉得哪个好用、
: 哪个不好用....之类的批判。
: 或是PHP 7出来没多久时,后端的工程师朋友就开始会说“喔他怎样怎样”
: 除了客观描述,还能加上“自己的一点看法”
: 当然那些主观的看法、个人的批判都是他个人的。
: 但是,我就发现自己完全做不到。
: 新技术出来,我只能一直跟在后面跑(学),光了解它在干嘛都来不及(学不太懂了)
: 根本不可能再提出自己的看法。
: (我在技术外,在人生、工作选择、哲学、人际关系上,倒是常常有自己的批判力的。
: 背包旅行、社运、女性主义、平等、自由啊等等的,都有自己的想法。
: 朋友常常说我是个很有想法的人。但是一旦到了写程式领域, 就一点自己的想法也没有,
: 反而有点害怕与反感。
: 我唯一的看法就是:‘马的,为什么又要出新东西来搞大家啊?就像 React.js 16.3好像
: 又要把旧的componentWillMount等函数拿掉,改成新的函数@@ ’
: 我写程式已经3年了,也做过3份工作了。都是工程师。
: 但是常发现有一些刚毕业进来写程式的同事,熬了一阵子,就开始能对各种技术
: 提出自己的看法。或者说,“有自信面对未来的新技术”。
: 好像强烈的感觉到自己的人格特质,似乎跟某些喜欢写程式的人不一样。
: 当然自己目前还是会继续做这行,毕竟虽然没那么强,但是
: 至少还算跟得上,饿不死。但有时候总会不知道该怎么自处QQ
: 就是想问问大家,身为工程师的你们,都对“新技术”有热情吗?
: 还是…我是少数?