前端程序员技术交流?

初级前端的定义一般工作经验是 1 - 3 年,注意是 1 - 3 的工作经验而不是工作年限。

很多同学经常有这样的情况,业务实在太多,能写完这么多业务已经花掉日常的时间跟激情,再也没有时间、精力去折腾了剩下的事情。

每个人的熟练度是有限的,最开始工作的时候,一个小项目或者需求开发时间需要一个月,而在工作一年或者更短的时间内,接受一定的业务毒打,使得框架熟练度、业务理解提升,可以将开发时间缩短到半个月。

然而这个就是普通开发的极限,没有办法再借助熟练度来提高开发效率之后,就会很进入一段迷茫期。

在现有的技术与熟练度已经完全能满足现在的业务需求,公司给研发安排的内容都是占据预估好的时间。那么这个时候就是初级前端遇到的瓶颈期了。或者说这是任何一个阶段的研发都会遇到的一个瓶颈期。

什么样的工作是无效(没有效率)的?

大部分活动 h5 都是需要开发新项目、新的代码,而很多业务都需要判断登录态,如果你也碰到这个问题可以尝试下面的解决方案

将所有的登录逻辑全部封装在 sdk 中,在开发新的活动的时候,可以将 sdk 直接通过 cnd 引入,判断当前环境未登录的情况下,拉起登录界面,进行登录。

这里推荐同学用 Rollup 去开发一个 Library,比较方便。

在中台系统中,基本上每个业务中台(比如订单、客服等等)都会有对应的权限控制。每个系统都要写权限控制的话,会很耽误时间,即使每次都是从上个项目 copy 过来,也很难保证未来权限系统统一升级的问题。

对微前端的熟悉的同学,可以将整个权限业务剥离成一个独立的子工程,然后每个业务中台直接引用权限服务即可,这样可以保持权限业务的整体升级,并且不会影响到本身业务同学的开发。

如果对微前端并不是很熟悉的同学,可以参考 git submodule 或者 npm 包依赖等等,也可以将业务抽离,统一开发、升级,只不过更新好的权限服务需要重新构建发布而已。

例子3:搭建基础脚手架

每次新开发项目的时候,会有一些基本的配置都不需要改变,比如:

1.请求的测试、预发、生产地址 2.构建命令,各种环境的配置 3.每块业务的特殊使用方法(如活动业务经常会使用到的分享功能等)

可以使用 node 开发一个自己的 cli 工具,再根据不同的业务预先配置好多份项目基础工程,这样可以根据不同的业务拉取不同的基础模板,减少新业务开发的搭建、配置时间。

例子4:自己的组件库搭建

虽然业内有很成熟的组件库比如 Ant Design、Vant 等等,但是要贴合每个公司自己的特色与业务,通用的组件库肯定是远远不够的。

可以配合 UI 设计,将公司的主体风格、基础组件全部规划一下,有意识的去沉淀自己的组件库出来。 在后续的迭代或者新的项目研发的时候,可以通过自建的组件库,快速完成界面的基础搭建。

这件事要主动去推动,不然一般很难落地。

上面的一些小例子,在第一次写项目的时候就有部分的基础代码,在第二个项目开发的时候就应该有意识的去设计、规划将这些内容进行封装、提取,从而在第三个项目的可以利用之前的设计跟基础的代码提高你的开发速度。

通过 1-3 年的项目训练,其实你应该具备,从多个项目抽取公共功能、业务,找到相似、相通点进行合并封装的能力(拆解项目、组合封装)。

这个理论上是良性循环的,可以将缩短后期迭代项目的开始时间,在这个过程中,自己也扮演不同的角色,得到不同的成长与学习的机会。

上述的工作肯定是会额外占用业余时间,但这也是一个学习、提高的过程。实际上,提高了效率之后,日常工作中反而会有一定自由的时间,去良性循环这个过程。

vscode 一大把提效的插件,就不多提了,什么代码格式化、自动提示、资源代理这种,大家都是前端肯定都经常用上。

但是不要把自己局限到前端的这个圈子里面,可以用点额外的工具来提高自己的效率。

这里的效率不仅仅是前端开发这点内容,把眼界拓宽一点,放在整个研发工具链路上。

在需求-设计-研发-测试-上线-业务反馈这整个链路中,看看有什么样的工具可以提高前端的效率 将可预见、将发生、已发生与前端有关的问题都考虑进去。

这里面很多事情可以用 node 来做,可以自己研发,但是要考虑性价比成本的问题,不一定自研或者 node 是最优选择。

每一次的构建是否很痛苦,很耗时,而在多人协作的时候,还可能因为每个开发者的系统环境不同而导致线上异常问题出现。

当你遇到上述问题的时候,首先不要逃避,也不是再打一个新包去解决,而应该引入一个构建工具去帮你完成这些问题。

这些问题在大公司、大团队可能有运维或者有成熟的 devops 体系去完成,但是这并不影响你去学习、使用来提高自己。

如果团队中缺乏这些的情况下,使用它将大大节约你在构建部署这块的精力。

移动端调试一直比较麻烦,除了测试环境可以使用 vconsole 工具之外,线上可以借助此类抓包工具,快速定位前后端分离项目的一些问题所在。

从来没有百分百完美的系统,上线之后的环境复杂度远超测试涵盖的用例,如果想更好地完善你的项目,团队如果没有足够的资源或者成熟的线上预警体系,引入 Sentry 将是一件性价比十足的事情。

这样可以节约你在找一些莫名其妙 bug 的时间,也是一件提高效率的利器。

Sentry 是一个日志平台,分为客户端和服务端,客户端(目前客户端有 Python, PHP, C#, Ruby 等多种语言)就嵌入在你的应用程序中间,程序出现异常就向服务端发送消息,服务端将消息记录到数据库中并提供一个 Web 界面方便查看。Sentry 由 Python 编写,源码开放,性能卓越,易于扩展。

UI 给设计图的时候,仅仅肉眼是没办法还原的,拿到 psd 又需要会 ps 工具什么的,这里你可以推荐 UI 使用 Sketch 来给你设计图,既方便体积也小。实在不行,Pixcook 也能通过 psd 自动生成标注的前端代码,两者都是设计研发利器。

雷神的灵魂拷问:你到底是雷神还是锤神?放在前端也是一样,你是一个前端工程师还是 Vue or React or Api 开发呢?

所有的框架都是开发业务的工具,在成熟的体系下,没有一件工具的价钱是超过人工的。你要考虑的不是怎么做好一个框架开发,而是怎么成为一个合格的工程师。

现在各种 web 框架层出不穷,各家小程序百花齐放下,多端框架也应运而生。学会一个框架的使用,其实并不难,最多两个项目,就能够熟练去使用了,因为框架的诞生就是为了让你快速去完成项目的。

底层技术与上层设计掌握的足够牢固,即使换了一个新的框架,你也可以快速上手。但这并不代表,你不需要去了解对应框架的设计与 Api, 而是避免成为 Api 工程师。好好想想自己作为工程师的核心竞争力到底是什么?

当然要是一个框架能玩出花,能解决所有的业务问题,那也是相当牛逼,但实际情况这种框架或者人很少。

总之能解决业务的研发才是能赚钱的研发,能赚钱的研发才是好研发。可能这段话说出来会被打,但现实赚钱的确实都是老板,而不是一个开发。

另外无论是底层知识、算法、设计的多厉害,但是一定不要脱离业务基础。为了面试,很多同学会去刷题、刷算法,确实很有效果,但是最重要的要学会怎么将这些所有的知识体系运用到实际项目中去,让他能够发挥最大的价值。

技术深度相当于内功,肯定修炼的越深厚越好,但是一定要配合业务运用这层外家功夫,方能成为绝世高手。就好比郭靖一身高强的内力但还是需要降龙十八掌才能御敌。

如果你在一个小公司,小团队的时候,就没事多折腾折腾自己,有什么新技术就上,前提是:

1.有一定的心里预期,不成熟的技术坑会非常多,内外部都会有不少的压力 2.预留足够多的时间去试错,业务一定是保障第一位 3.要有一定的备案,如果在新的技术解决不掉问题的时候,能够快速拿出备案解决 4.一定不要在主要业务中使用,如果出现问题,会导致团队的信任危机,影响后期发展,不利于后期合作 5.要有开放的心态,新的技术运用起来不是优越感爆棚,解决问题的同时,可以分享给团队的每位想要了解同学

如果你是在一个大公司,一个成熟的团队,那么能做的事情只会更多。

记住一个点,越大的团队,业务链路就越多,细节就越多,能下手的地方就更多,能拿到的资源也会更多。 所以要敢于承担责任与任务,在关键时刻顶住。

比如在新项目启动的时候要有足够的勇气主动去申请承担。前提条件是,你本身就要扛得住,值得信任,是一个可托付靠谱的人。

或者可以主动参与产品链路,与产品、研发、测试、运维、客服等等一系列与之相关的人员沟通,一起找到目前存在的痛点、难点,然后想办法去解决。

最好的办法是将你想做的事情,描述成他们想要的东西,然后他们可以借助你的资源来完成这件事,最后双赢局面出现,皆大欢喜。

无论在哪都一样,做技术的切记心浮气躁,要赖得住寂寞,做得了冷板凳。

最近断断续续整理了一些阿里、腾讯、字节等等大厂的面试题,目的是想了解一下大厂招聘的技术热点,不断提升学习。

其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器等等,免费分享给大家,还在持续整理收集整理中,有需要的朋友免费获取。

篇幅有限,仅展示部分内容

}

随着国家对科技创新、科技强国的号召,我国互联网行业热潮兴起,市场上对程序员的需求也很强烈,程序员的高薪资也在不断的吸引更多的年轻人投入到这个行业中

从目前的市场情况上看,由于程序员工作的高强度性质,整体群体年龄更趋于年轻化,所以程序员也需要不断学习,有一定的自驱力,才能不断适应市场的迭代,有更好的发展方向和选择,否则在工作3-5年后将会面临一个危险的瓶颈期,竞争压力增大,事业上升后劲不足,同时面临家庭生活的压力。

所以,只有通过不断学习和交流,不断提升自身价值收入和发展空间才有可能获得突破性增长

下面是华哥整理的15个程序员常用的学习交流网站(排名不分先后),分享给你,希望对你有所帮助。

包含原创博客、精品问答、职业培训、技术论坛、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。CSDN可以理解为是一个程序员聚集的网站,他们会在网站上讨论编程相关的问题。

2、51CTO-专注于IT人职业成长平台(

51CTO 成立于2005年,目前已建成为专注于IT人职业成长平台;拥有1500万注册用户,覆盖了中国主流城市大多数IT从业人群,是国内排名第一的服务IT技术人员的专业性服务平台。

3、博客园-开发者的网上家园(/

博客园,是一个面向开发者的知识分享社区。自创建以来,博客园一直致力并专注于为开发者打造一个纯净的技术交流社区,推动并帮助开发者通过互联网分享知识,从而让更多开发者从中受益。博客园的使命是帮助开发者用代码改变世界。

4、Github-全球领先的软件开发平台(/

Stack Overflow是一个与程序相关的IT技术问答网站。用户可以在网站免费提交问题,浏览问题,索引相关内容,在创建主页的时候使用简单的HTML。在问题页面,不会弹出任何广告,销售信息,JavaScript 窗口等。

6、开源中国社区-中文开源技术交流社区(/

开源中国成立于2008年8月,是目前国内最大的开源技术社区,拥有超过200万会员,形成了由开源软件库、代码分享、资讯、协作翻译、码云、众包、招聘等几大模块内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。

2013年,开源中国建立大型综合性的云开发平台——码云,为中国广大开发者提供团队协作、源码托管、代码质量分析、代码评审、测试、、代码演示平台等功能。

7、慕课网-国内首个IT技能学习类应用(慕课网-程序员的梦工厂

慕课网是垂直的互联网IT技能学习网站,自2013年上线始终专注于IT在线教育领域,以培养互联网企业实用型人才为己任,邀请一线大厂技术达人打造前沿的IT技术精品课程,帮助每一位有志向的开发者实现职业梦想。

慕课网用户数超2000万,合作讲师1500+,自制课程超过3000门。用户群体中,有高校大学生、初入职场的程序员、资深技术大咖,不同技术水平的开发者纷纷汇集。慕课网既为用户提供免费课程,还有成体系重实战的商业课程 ,覆盖前端 \JAVA \Python \Go \人工智能\大数据\移动端等60类主流技术语言,充分满足了面试就业、职业成长、自我提升等实际需求,帮助用户实现从技能提升到岗位提升的能力闭环。

慕课网App是国内首个IT技能学习类应用。

V2EX 是创意工作者们的社区。这里目前汇聚了超过 250,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

V2EX 严格意义上不算是纯粹的技术社区,它定位是创意工作者的社区,但其实里面全是 IT 行业内的人。大家会喜欢像发帖一样在里面讨论创意、新的技术、吐槽等活动,人气很高,这个平台的风控机制也比较严格,页面刷新太快也会被限制,网友常常说,V2EX 是一个神奇的网站

W3School 是因特网上最大的 WEB 开发者资源,其中包括全面的教程、完善的参考手册以及庞大的代码库。

下面是关于 W3School 的简要描述:

前端程序员的最爱,W3School 最开始分享很多浅显易懂的前端教程,后来也有一些后端的教程在里面。

12、SegmentFault-中文领域最大的技术问答交流社区平台(

知乎是中文互联网知名的可信赖问答社区,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。

14、掘金-帮助开发者成长社区(/

简书是一个将写作与阅读整合在一起的网络产品旨在为写作者打造最优秀的写作软件 ,为阅读者打造最优雅的阅读社区。

虽然这个涉及范围很广,除了IT,涉及生活等方向,不过,也有IT技术大牛在上面分享他们编程经验以及一些问题解决,这个也是不错的。

这篇文章就给大家讲到这了,希望能给大家提供一个思路,少走弯路。记得帮我点赞哦,谢谢大家。

关注公众号【Java小白营】回复【免费下载】,即可获得我花费洪荒之力从各个搜索网站收集了几百本关于程序员方面常用的电子书。

最好的关系是互相成就,小伙伴们帮我点个赞吧,非常感谢。

我是华哥,一位上市公司的IT经理兼创业公司总监,从事IT业超过15年。
如果有幸能帮到你,请帮我点个【赞】,给个关注,如果能顺带评论给个鼓励,将不胜感激。

}

文章略长,没耐心的小伙伴可以直接跳到文末,三句话概括全文。

事情起因是这样的,有团队做了一款可以直接生成网页的手机APP发布了,某知友就慌乱了,觉得前端工程师会被AI所代替,开始纠结学习前端还是后端。

“手机APP可以直接生成网页,取代了前端工程师的一部分工作,随着APP的进一步开发使用,前端开发的行业空间将更加狭小,是不是就意味着,前端开发正在面临淘汰的局面?”

答案案是否定的。诚然,按照人类现在的发展趋势,未来所有工作都将被AI取代,但是计算机行业肯定也要在后期才会被取代,有限取代的必然是一些流水线上固定岗位的重复工作。

很多人会有这样的想法,有以下几个原因:

1、大部分人对于前端工程师的误解

一个转换网页的APP的出现就能引起这么多人的猜测和恐慌,足以说明很多人对于前端开发的认识和了解是不够清晰的。

真正的前端开发并不是傻瓜式的网页生成可以取代的,在这个前端开发快速发展的互联网时代,你还认为前端开发只是切网页的,那你就大错特错了。

看岗位就知道了,一个APP转换网页怎么可能撼动前端开发整个行业呢?大家真的是太小看我们前端攻城狮的日常了。

总结一下来说,前端工作主要方向是下面三个:

重点是设计或交互能力,需要知道页面怎么做好看,怎么更符合用户的使用习惯(用户的需求大多数的是无止境的,无理的,无逻辑的)

设计能力强的后续可以转懂技术的设计!交互能力强的后续可以转产品。

和后端有些近似了。其实是前后端分离后产物,现在的后端只负责产出数据,那么和页面相关的逻辑转换就需要前端继续实施了,更高级的就需要知道框架的选型以及业务模块的封装。

发展方向就是架构师了,当然也不排除一部分同学直接转成了后端

早期的前端代码都是依附于后端进行部署,但是现在cdn,node环境搭建,都需要专门的同学去负责。这个方向比较杂,也比较容易产生大牛,所以crsf攻击、页面响应优化这样的事一般都会放到这块来。

下面是我筛选的几位大咖的分析,我觉得还是比较中肯的,但不完全代表我的看法:

专业性的方面分析完了,我们再来看看侧面因素,为何一个看似门外汉提出的问题会有60万人响应呢?这让我陷入深思,行内都知道,2017年开始前端突然崛起,大批大批的IT人员或者非IT人员转行做前端,这60万人中,学艺不精者,心态浮躁者应该占了大部分,那就引出下面第二个观点。

2、行业内大批学艺不精者造成市场饱和假象

由于前端工程师的入门门槛较低,很多人认为HTML、CSS、JavaScript并不是很难掌握的语言,似乎只要花一点时间,无论是谁,都可以通过网上教程或者书本入门。

许多人怀着追求高薪的想法入行,其实也没什么错,但是无法安心学习,浅尝辄止,会一点皮毛便不再深入研究,所以即便有大量的前端工程师涌入,公司对于技术扎实的优秀工程师的需求仍然只增不减。

整个互联网在不断发展,前端开发技术也在不断进步,前端开发市场会越来越广泛,人才需求当然也不会止步于当前,所以不论现在还是未来,整体市场都不会饱和,只会低端饱和,高端缺人。未来优秀前端开发工程师将成为市场争抢的资源。而淘汰的并不是前端,应该是落后的技术和不合格的开发者。

10 年前的前端工程师熟悉所有 IE6 bug,只要你说得出表象,他就能告诉你这个 bug 叫什么名字、成因是什么、如何能够绕过去同时保持跟其它浏览器兼容。

10年后的现在,这样的技术是显然被淘汰了的。

3、前端开发技术日新月异,那么前端开发攻城狮的未来又在哪里呢?

随着前端技术发展,那些小规模移动App市场被一些巨头把持,小规模App生存空间将越来越小,PC信息导航类网站(网址、购物、论坛、生活)由于移动优先、智能推荐的现状,也同样面临更加狭小的生存空间。

还有一大变化是,大量工作需要前端来做:

日常办公软件(复杂应用,并且慢慢从桌面程序演化为Web):Office、Email、文档管理、产品设计、项目管理、代码编辑器大数据/AI配套软件(复杂应用,并且慢慢从桌面程序演化为Web):需要大量的后台系统来做数据分析/机器学习播放器/游戏:H5代替Flash,如Web Audio、Web Video、Canvas容器/DSL/内核/小程序:支付宝/微信/钉钉容器,内核(也就是UC、QQ浏览器内核),及其自定义DSL(如果将来手机的底层能力都可以上浮到小程序,很有想象空间)产品信息展示类网站(炫酷应用):各种智能设备官网、大企业官网。

文末小编总结一段话,概括所有问题。

前端开发近十年都不易被撼动或取代,重要程度逐年增长中,吸金能力亦然。从业者应该注重自身知识巩固和新知识的更新迭代。找准时代发展方向,努力专研,勇于创新能让你走在时代最前头。

}

我要回帖

更多关于 程序员网站 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信