等登凳灯~~各位社区的开发者们,大家周末愉快!
不知不觉,SegmentFault 思否社区全新的版块 #极客观点 已经上线一个月啦~
极客观点 聚焦于技术方向、程序员职业发展、个人成长等主题,致力于发起有价值的讨论,输出有价值的观点。
在本栏目中,我们将为大家推荐在 #极客观点 版块被热烈讨论的话题,甄选出有趣的观点为你呈现。期待我们一起成长和进步呀
今日关键词:#前端转后端 #tailwindcss #“远程工作”的代码
前端转后端开发转型成功的机会有多少,在哪里?
话题发起人:大暗扣
前端在岗,如果往后做纯后端,在本家公司或者后面的公司,对于转专业的人说,机会有多少?需要具备什么样的能力才可以做这样的工作?只要具备专业能力就够了么?如何证明其具备这样的能力?谁有这样的经验能够提供这个问题的答案?
有趣的观点:
第一个阶段就是面向功能编程。
以JAVA为例,在这个阶段里,你需要接触很多非编程语法的内容,如数据库,resin,链接池,jdbc,shell,log4j,spring,junit,quartz,aop等和JAVA语法本身以及jdk本身并无太多关系的知识点。
能把逻辑写清楚,没有BUG,响应不超过200ms,第一阶段你就过关了,这个阶段通常要1到3年。
第二阶段是面向性能编程。
这个阶段你需要了解分布式,缓存,消息队列,读写分离,主从等常见的架构技术,这也是前端转后端最大差别的阶段。我们通常说后端比前端难,就是在指这个阶段,有意思的是,第二阶段又是需要在第一阶段打好基础的前提下才能达到和实现的。也就是说,并不是你用前端思维到了第一阶段之后再来公关第二阶段,而是你在第一阶段就积累了性能优化,日志排查,逻辑清楚的经验和认知,才好进入第二阶段。
———— 社区用户:这个杀手不太冷静
有趣的观点:
1.机会有多少?
100%,现在后端缺口也很大,前端转后端我不赞成,要做前端+后端。
2.需要具备什么样的能力才可以做这样的工作?
后端有很多开发语言nodejs,php,python,java等等;前端工程师+后端建议先学习node。我是java开发,前端学习大而全的后端是不太可能的,推荐学习jfinal+mysql就可以了。
3.只要具备专业能力就够了么?
不可能,后端的业务逻辑纷繁复杂,会遇到各种问题,甚至是异构系统的问题,非业务上的问题,学会之后仅仅是让你入门后端开发,在开发过程中也要不断学习。
4.如何证明其具备这样的能力?
自己模仿淘宝手写一个购物网站,写完后便具备的基础的后端开发能力。
如果想要深入后端开发,需要学习的知识非常多,前端不推荐太深入学习。
———— 社区用户:李通
如何评价框架TailwindCSS
话题发起人:欢快的蛋挞
我使用tailwindcss的原因:官方的插件提示效果非常好,基本上不需要动方向键。而且官方还有个插件可以自动对class的内容排序,所以写的时候不需要思考顺序。基本上不需要命名,直接在class属性中使用。真的能少写好多css,写媒体响应式很方便(sm:hidden等等)不需要来回跳文件。写网页真的太快了。@apply命令也可以解决复用性的问题(不过这就要考虑命名了)
但是网上对这个框架口诛笔伐的也很多:维护不方便(在html中写密密麻麻的一片,确实看着难受。。能否用插件解决这个问题?还有F12开发者工具的箭头能否解决这个问题?)在vue中用的话,标签上本来就需要写一些vue命令,所以temple标签中的内容更多了。。。(如果有能够折叠html标签属性的插件是否就解决这个问题了?)国内基本上没公司用(这也是我最担心的,感觉只能自嗨。
在未来,这个技术有机会成为国内公司的需要的技术栈吗?像需要团队协作的vue3项目用这个框架怎么样呢?想问问思否大佬们的意见。
有趣的观点:
很多同学对待技术有一种非黑即白的态度,这是个很差的习惯。技术都有优势,也有劣势;有适用的场合,也有不适用的场合。适合用我们就用,不适合用我们就不用。
拿 TailwindCSS 来说,没有规定我们必须用且全用且只用 TailwindCSS,我们完全可以把它当成一个现有前端框架的补充。比如我厂的产品,原本用了 element-ui,现在写页面的时候,两个组件之间需要有一些间隔,以前可能是写一个 ,现在直接一个 .mt-2 就搞定了,方便得多。
我认为完全用 TailwindCSS 写项目会比较累,有不小的学习成本,也影响代码阅读。但是配合其它整套的组件库就很合适。而且 TailwindCSS 写出来的 HTML 迁移成本很低,复用方便,推荐大家学习。
———— 社区用户:Meathill
有趣的观点:
只能说是另外一条路,但是这条路并不一定适合大部分的研发团队。特别是在境内特有的一些UI设计师手下。tailwind大部分的预设并不能满足你日常的开发需求,还是需要大量的手写css才能满足。
tailwind在国外比较流行有很大一部分原因就是这个。
当然也有一些厂对于设计有一套完整的规范的,那么在项目伊始配置好主题就可以了,中途很少会出现每一块UI细节都不一样的情况(但是我见过的很多UI都是喜欢各个地方都做一些差异来凸显“设计感”)。
使用tailwind的好处肯定是有的,可以减少相当一部分的工作量,其实大部分人在项目中也会预设一些公共的原子类来使用。只不过不能接受class写一堆的情况而已,就很很多人讨厌同事写行内样式一样。想要模板/样式/业务代码分离开来。
另外一个就是学习成本,需要记很多样式的简写。虽然挺好记的,而且比原先的CSS属性短多了,但一开始不熟悉的时候还是需要去对照文档来查询对应的简写是什么。
我个人的想法是不一定非要完全都按照原子类的方式来写项目,可以适当的穿插着使用,起到便利的作用。而不是为了写tailwind而去按照他的规则来写样式。
也不能说一定就不可以用原子类的方式来实现公共样式,然后舍近求远的使用预处理器的继承和mixins来实现。
———— 社区用户:陟上晴明
前端是不是越来越多的远程工作机会了?
话题发起人:17dun
最近看到越来越多的国外公司招聘远程办公,并且前端的岗位相对后端来说远程的机会更多,因为很多国外公司他们不太会把核心的业务外包给远程,而前端和设计还是可以的。这个会不会是以后的一个趋势?
有趣的观点:
根据近两年疫情的趋势,可以看到很多互联网公司在停摆时仍能在一定程度上保持公司的运转,程序员在远程的情况可以保持工作进度,但是在沟通交流上会有一些不便,但在远程的便利之下,沟通问题就显得不是非常的严重。未来这应该是一个趋向。
———— 社区用户:Guanine
有趣的观点:
在国内远程工作不是主流,稳定的远程工作更是少之又少,目前的远程工作我认为主要因为疫情原因。如果一个岗位能找到本地员工,那基本不会考虑远程。稳定的远程职位要么是不可替代性非常高,找不到本地员工,要不然就是价格优势大。据我所知一些外企远程职位比较多,这些岗位需要和跨过多部门进行协调,本来就是分散的,所以会考虑远程岗位,但是这些岗位一般需要较强的英文能力。
———— 社区用户:bucai