第一次写 Web 页面

2018-02-23 17:37:13 +08:00
 nekocode

之前一直没接触过前端开发,最近终于尝试写了个简单的页面 nekocode.cn/project-gallery,没用任何框架纯手写 Html / Css / Js。 个人感觉是 Js 的标准库很弱啊,很多常见的工作都没有提供官方接口(导致 JQuery 这类库的出现)。

而且现在前端开发明显是工具 & 框架为王的时代吧?感觉脱离工具和框架想开发复杂点的应用太难了。


另求推荐比较小而美的前端开发 工具 /技术 栈。

4745 次点击
所在节点    程序员
38 条回复
murmur
2018-02-23 21:17:06 +08:00
@oswuhan 除非啥时候安卓的性能能追评到 ipx 那个流畅性
目前 mvvm 在移动端上 batch insert 是硬伤
而在 jquery 时代一个 template 轻松搞定
nekocode
2018-02-23 21:18:00 +08:00
@brickyang 感谢!我之前 Google 的时候没找到这方法,搜到的都是用正则来匹配 className 的。。

@oswuhan jq 就是方便操作 dom 而已吧,但现在都流行双向绑定、vdom 什么的,都不需要手动操作 dom 了。
oswuhan
2018-02-23 21:20:23 +08:00
@murmur

2018 年了,兄 dei,不跟你争了……时间倒退 5 年,谁不认同你的观点我愿意陪你一起喷
nekocode
2018-02-23 21:22:24 +08:00
@murmur 我也想在前端用上 rx。所以可以 vue + vuex + rxjs 这样选么?
oswuhan
2018-02-23 21:25:39 +08:00
@nekocode

我就是这个意思,不需要操作 dom,jq 迟早要退……另外,我推荐你看下《高程》,有几个章节专门介绍包括 classList 在内的很多 API,尤其是那些搜索引擎搜不到,搜到了但没有解释清楚,而主流框架底层依赖很普遍的 API
murmur
2018-02-23 21:34:21 +08:00
@oswuhan 我们在用小米 4 做最低的性能测试 安卓 4.4 我认为这是底线了
前几天有要求兼容安卓 4.2 的红米推了好久才推掉
而小米 4 下渲染七八十个 node 的页面 vue 已经很卡了 每个元素都是 createElement 即便是虚拟 dom 都都明显的卡顿
oswuhan
2018-02-23 21:39:26 +08:00
@nekocode @murmur

解析 jsx 的那个库叫作 ReactDOM,前端眼中的视图是由 DOM 渲染而来的,是动态的 Object,有状态,有属性,可以绑定事件……而 template 是用来渲染静态视图,渲染的过程本质上是由模板字符串渲染为 HTML 字符串。

所以,两个概念完全不同。
murmur
2018-02-23 21:40:50 +08:00
@oswuhan 干着和 template 一样的事但是还不如 template 好使 我这么理解可以么 你写成了 jsx 语法糖 这种类 html 语法
相比之下还是 vue 的 template 部分更人性一些
你这么说 vue 的.vue 里的 template 段也可以先编译成 js 语句啊
oswuhan
2018-02-23 21:51:32 +08:00
@murmur

#28 新年快乐,有机会再聊
brickyang
2018-02-23 23:07:04 +08:00
@nekocode JavaScript 发展很快。也不是说应该完全不用 jQuery,但也推荐你试试 React 和 ES6,可能会发现和写 HTML+jQuery 完全不是一种开发方式。都试试没坏处。

另外,大量操作 DOM 还是原生最快,无论是 React 还是什么库都不行。

每种工具都有它要解决的问题,不是盲目堆工具就好。
nekocode
2018-02-23 23:33:27 +08:00
@brickyang 嗯谢谢,准备尝试下。
slgz
2018-02-24 13:23:35 +08:00
@oswuhan 前端的工作写什么。 难道,不是应该由设计师和产品经理制定的吗,前端,只要把图片变成网页就行了吧。至于其他,美化什么管前端什么事,各司其职
nekocode
2018-02-24 13:40:51 +08:00
@slgz 个人感觉越先进的公司,职位之间的界限是越模糊的。例如在知乎,只研究产品需求的纯产品经理是特别少,更多的是产品设计师、产品数据师等。
前端 & 后端、前端 & UI / 交互设计、前端 & 可视化 等都是同理。

国外的公司应该更加如此,全栈的工程师会需求更大。
hiroya
2018-02-24 13:46:51 +08:00
js 标准库并不弱,我自己的网站用的也是原生。你需要的一个艺术家的点子 /设计。
现在都被各种框架如同 react/vue/ng 这样的框架吸引了,这些框架的确很优秀,但是这些库并不完全适合所有的网站开发。这些只是为解决数据交互流的开发痛点而产生。

而看题主的意思我猜只是想做一些漂亮点的网页,这些完全用不到楼上很多人说的 mvvm 框架,原生或者 jQuery 足够了,可以看看一些小众网站,设计得比较漂亮的网站 ex: http://slow-start.com/ 这种大量都是原生 css 和 js,如果题主想做的更炫酷网站的话,mo.js 或者 three.js 这种 WebGL 库

如果题主的意思是寻找 mini 的前端库主要做数据交互流的话 react 写了用 preact 来代替打包,同样非常小巧。github 用户 egoist 写的前端库也是非常小巧,基本都是 kb 级别的。
slgz
2018-02-24 16:32:49 +08:00
@nekocode 看来还是我见识少呀,我一直以为,大公司往往都是分的很细。只有小公司才是全栈
oswuhan
2018-02-24 16:59:15 +08:00
@slgz

#32 你的理解没有什么不对,我再补充一下,设计师出设计稿(包括视觉和交互),前端输出代码,难就难在两者殊途同归,换句话说就是前端需要精确还原设计稿,包括但不仅限于布局、样式、动画等等。

#35 此“全栈”特指思想上的“全栈”,而非“技术”上的全栈。举一个例子,产品设计师确定产品采用响应式设计(设计规范),设计师负责实现具体的响应式设计(视觉稿),前端负责将视觉稿转化为响应式设计的网页(代码)。该流程中,产品和设计师不用写代码,前端不需要作图,但在“响应式设计”这个问题上,三个角色思想一致,最终输出的产品才不会有偏差。
slgz
2018-02-24 17:08:46 +08:00
@oswuhan 明白了,通俗的讲都是万精油角色咯。只不过,不需要去做实现,但是要知道什么意思。 关于这个观点,我表示赞同,毕竟,现在 IT 行业,如果只会一个领域找工作都难。hh
ericgui
2018-02-25 02:39:29 +08:00
@Kilerd 我也是,我实在看不懂 Vue

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/431982

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX