V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  OSF2E  ›  全部回复第 1 页 / 共 9 页
回复总数  170
1  2  3  4  5  6  7  8  9  
2020-06-17 01:20:38 +08:00
回复了 suirh96 创建的主题 程序员 数据中心可视化方案提供商推荐!
建议附上资质要求。
2020-06-15 13:55:09 +08:00
回复了 fxjson 创建的主题 Node.js 阿里 egg.js 香不香?
@shuangya

对,“一把梭”的前端技术时代已经过去了,算法向、视觉向、交互向、数据向、架构向、编译器向的前端工种以及前端产品以后会划分的越来越清晰。
2020-06-15 13:41:01 +08:00
回复了 fxjson 创建的主题 Node.js 阿里 egg.js 香不香?
@shuangya #51

@Hanggi #56

事先声明,以下内容仅代表个人见解,为方便表述使用了一些可能会存在歧义的名词或者概念。

事先声明,一直对 vue 的创始人以及使用 vue 的技术群体充满了敬畏之情,万一说错了什么,敬请谅解。

JQuery/Vue/React/Angular 属于基于浏览器端 DOM/BOM 接口的“交互向”或者“视觉向”的前端应用开发框架,这四者可以作比较。

EggJS/NestJS 可以放在一起作比较,主要是在用来开发服务器端 NodeJS 环境下业务系统,统称为“数据向”的前端框架。

Redux 只能算是针对 React 某一部分功能的加强或者扩展,同样与 JQuery/Vue/React/Angular 不是一类产品。

如果把 JQuery/Vue/React/Angular 比作战斗机的话,egg/nestjs 就可以比作坦克,毕竟两者的战场完全不一样。

总之,不是一类的东西放在一起比较没有意义。

先比较 JQuery/Vue/React/Angular 四个框架之间的差异。

每一代浏览器端前端框架都解决了至少一个核心技术难点,就好比每一代战机都会在至少一个核心技术方面有重大突破一样,可能是发动机、隐身、雷达、武器等方面中的任何一种或者多种。

话题回到浏览器端前端框架的问题,这里说的“分代”,不是指的产品,而是指的产品背后的技术思想。

JQuery 所代表的的三代技术思想主要解决的是垮浏览器端 DOM 接口的兼容性问题。

Backbone 属于三代半,在 jq 的思想基础之上,实现了基于数据绑定思想的 MV*架构。

判定四代的标准是不依赖 jq 操作 DOM (但仍然要操作 DOM,也就是所谓的虚拟 DOM ),同时实现了基于数据绑定思想的各种 MV*架构。

发展初期的 Vue/React/Angular 站在同一起跑线上,均属于四代,但由于种种原因早已渐行渐远了。

Vue 核心思想就是速成,快速上手、高速开发。

Angular 在三四代技术思想之上,核心发展思想是创建规范化的前端工程开发流程,写出尽可能优秀的代码。换句话说就是开发前端应用的时候要有开发系统软件、桌面软件、服务器端业务系统一样的“硬姿势”,导致的结果就是开发工作颗粒度太细,开发效率低,学习曲线陡等问题,导致大多数开发者在潜移默化中把开发出良好用户体验的前端应用的目标调整成了写出符合 ng 标准的代码,代码质量确实提高了,但开发出来的东西用户不买账,或者开发出用户满意的东西工期太长。

可以看出 Angular 和 Vue 在某些层面是站在绝对的对立面的。

Angular 后续版本重点解决的是自身的性能问题,比如 ng8 引入,ng9 扶正的 Ivy 引擎,对于 API 用户来说没有思想上的改变。

Vue 的后续版本则是类似于 IE6789 风格的升级。

v16 之前的 react 核心技术思想是单向数据流,还有 JSX 勉强也算,redux 则不是 react 官方的东西。

为什么说 v16+的 React 属于五代技术思想?

v16 之后有三个很重要的东西,Fiber/Hook/Concurrent,网上有很多优秀的分析文章,这里不再赘述。

React 把近十几年优秀的前端开发思想集成到了一起,而非通过打包工具、第三方库、语法糖、接口等方式把这些思想层面简单粗暴的堆到一起,毕竟前端开发是门手艺活儿,手艺人需要的是灵活发挥的空间,以及齐全趁手的工具。

再就是与浏览器端 JS 开发的层叠样式设计开发、交互动画设计开发等方面的技术问题,开发流程、代码架构等思想上应该是统一的,React 实现了这一点。

这里扩展说一下,CSS 的布局思想由 BFC 发展到 FFC 再发展到 GFC,与 React 的单向数据流思想不谋而合。

更进一步说,UI 设计,布局设计,动画设计,交互设计,以及状态管理策略设计,应遵循单向数据流风格的开发流程,React 可以保证这一类型的开发流程的顺利递进,而 Vue/Angular 不行,它们只关心怎么写 JS/TS 代码。
2020-06-15 00:42:03 +08:00
回复了 fxjson 创建的主题 Node.js 阿里 egg.js 香不香?
@shuangya 前端技术发展各个阶段不是独立的,就好比战斗机是在一代二代基础之上发展出三代四代五代的,每一代技术都有至少一个代表性产品,现阶段的 react 大概属于五代前端技术、理念、思想的产物,jq 属于三代,ng 处于四代……所谓“站队”,一定程度上代表了前端从业者目前对前端技术的认知所处的水平,而非简单的“粉”某个产品。

以上言论仅代表个人见解,且篇幅有限,可能存在较大歧义。
2020-06-03 21:43:55 +08:00
回复了 sunshinev 创建的主题 程序员 Vue 还是 React? 如何选择
专职前端,建议以 react/typescript/nodejs 为基础,稳步构建私有技术栈,毕竟前端的终极目标是差异化的用户体验。
非专职,直接上 vue 全家桶,大量复用第三方库或者插件,保证开发效率,功能界面或者用户体验是否雷同无关紧要。
2020-05-28 13:50:05 +08:00
回复了 revalue 创建的主题 React 哪有一个好用的控制 modal 组件的 hooks?
有浏览器兼容性要求吗?

没有的话,推荐使用 CSS-Grid-Layout,所有层可以同时挂载在容器组件上,通过设置 zIndex 属性控制层叠状态,通过 opacity/transform/visibility/display 等属性来控制各层的视觉可见性,而不用频繁修改元素树结构,同时方便添加 transition 或者 animiation 动效。

有兼容性要求,通过 CSS-Block-Layout 外加 position 等属性,降级实现。
2019-12-30 13:37:14 +08:00
回复了 xsen 创建的主题 职场话题 哪些值钱的经验,可让你免于中年后被优化
信息不对称
可能你的关注点在于“良好的开发体验”上吧……如果把关注点提升为把控完整的开发流程……你会发现 hook 更优秀……

类比一下,你目前关心相当于是“茴”字的几种写法,而不是如何用汉字创作一篇完整的文章……如果觉得类比的不恰当请勿责怪
前端按需发起请求,毕竟显示设备单次能够显示的内容有限。
后端根据前端请求,尽可能提高数据查询效率,这才是 b/s 层面交互体验该考虑的问题。

UI 层面的用户体验,不是后端应该考虑的问题,除非你同时负责视觉设计、交互设计、前端实现、后端实现等一系列工作,当今世界,能同时把这几方面做同样的高水准的人怕是没有多少。
2019-12-04 14:30:49 +08:00
回复了 lifesimple 创建的主题 程序员 求问,后端是怎么接口自测的?
@DT37 所以公司的技术(面试)负责人对前端工作的认知很重要……前端开发者应当既懂 UI 设计,也要懂软件开发,方才能把开发流程串起来。
2019-12-04 14:26:37 +08:00
回复了 RYYang 创建的主题 职场话题 前端接近 2 年工作经验想转后端开发,大佬过来劝劝?
PPT 从业者需要两方面的技术栈:平面设计、文案写作 。PPT 制作软件只是一门工具,多用用就熟悉了。

同理,前端从业者需要至少两方面的技术栈:用户界面设计(视觉、动画、交互)、软件开发。

各种语言、框架、库也只是软件开发工具而已,多用用就熟悉了。

怕就怕,完全没有系统的去思考过用户界面设计方面的问题,或者说狭隘的认为用户界面设计是与前端开发解耦的,或者说只有拿 PS/AI 一类的设计工具去解决设计问题才算是设计工作。

解决思路:

学习用户界面设计相关理论,自己摸索或者学习别人的方案都可以,丑、烂不是问题,就怕用“试”的心态去处理设计方面的问题……所谓的“调 css”、“仿布局”等就属于这个范畴。设计软件学起来没那么容易,但是纸和笔用起来没那么难,基本的线框图、流程图,只要稍微有点耐心,按照业务逻辑还是很快就能画出原型的。还有一点就是,代码绘制视图,与设计软件制图、手绘图,本质上是同一个工作流程,换句话说,工作者输出最终视图的过程之中,心中的思考流程是一致的。
2019-12-04 14:09:50 +08:00
回复了 lifesimple 创建的主题 程序员 求问,后端是怎么接口自测的?
先不考虑网络异常、业务异常等问题,先在客户端(前端)把完整的数据交互流程完整开发出来,涉及数据请求的地方,先用假数据或者利用客户端本地数据库模拟一套数据管理系统以及相关接口,也就是模拟实现一套数据持久层与请求层。如果是网页应用,可以用 indexdDB,其它平台则推荐 sqlite。

前一步完成之后,再在基础的数据交互场景之上穷举所有可能要处理的非核心业务的数据交互场景,并整理接口文档。

后端根据文档开发接口,严格按前端的要求来。

总之就是一句话,房子要从下往上建,而不能从楼顶开始。
开放性需求,意味着无限工作量。
2019-11-29 16:49:33 +08:00
回复了 phpxiaowangzi 创建的主题 程序员 想问下有开公司或个体户的吗?
战略马克
2019-11-26 17:08:45 +08:00
回复了 MrOange 创建的主题 职场话题 我果然对校招有什么误解
校招的主要目的是企业帮 zf 刷应届毕业生就业率的数据然后拿财政补贴(企业拿,不是应聘者拿)。其它情况下的招聘,主要目的还是用最少的钱招入单位时间内为企业创造更高效益的人。说白了就一句话,为了钱。
2019-11-20 18:55:29 +08:00
回复了 chenliangngng 创建的主题 程序员 虚拟 dom 的 diff 算法大概能比 jQ 提升多少性能?
“买了台 Macbook,第一时间装上了 windows”,卡是必须的,是心态的问题
2019-11-20 14:16:39 +08:00
回复了 zhangH258 创建的主题 程序员 团队初创,行政问我搞什么程序员游戏可以让大家更 open
平时都在 996
1  2  3  4  5  6  7  8  9  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2652 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 09:50 · PVG 17:50 · LAX 01:50 · JFK 04:50
Developed with CodeLauncher
♥ Do have faith in what you're doing.