【思路】学习前端的思路问题

大家好,今天是周五,祝大家周末快乐,今天我们聊一下《学习前端的思路问题》。为什么要聊这个呢,因为群里的小伙伴经常会问我,前端怎么学,学了很久没方向啊,学什么东西好呀,等等,所以今天主要聊一下四个问题,

(1)前端的核心是学什么?

(2)学会JS了,但却动不了手?

(3)解决问题不知如何动手做东西的思路是什么?

(4)要提升JS,怎么作?

// 1,前端的核心是学什么?

这个问题我个人主观的理解,其实是分成二个层面的。一是学习用JS操作HTML和CSS;二是要理解前端UI的操作流程。

第一,用JS操作CSS和HTML。怎么操作?首先就是获取DOM节点,然后就是对DOM节点的“增删改查”,这就是具体的JavaScript知识,这是硬指标,必须搞定。

第二,要理解前端UI的操作流程,就是要懂“业务”。懂业务,才能明白“为什么”要这么做;才能明白你的JS要如何设计;才能懂得哪些个JS要单独写成模块给多个地方调用。懂业务的重要性比懂JS还要重要,因为业务决定了JS脚本的使用场景和方式。

以上二点,是我目前以为的前端的核心,就是“技术+业务”。

<!-- -->

那么前端开发到底是在做什么?

简单的说,前端开发人员是要在有限的业务场景中,去实现产品经理和UI设计人员的设计意图。而这些设计意图,有可能是无限发散的。

在这里如果前端开发人员不懂业务,那你就会很被动。因为你无法从业务的角度,去讨论或是修改他们的设计。网页技术嘛,说起来理论上是什么需求都可以做,但事实上总是有一些需求是不合理做不到的。

要明白,有些产品经理和UI设计的脑子里,是不管什么需求什么问题,技术人员都能搞定的,如果你说这个搞不定。他们第一反应就是,你是不是技术不OK?第二反应就是,你根本就不明白做的什么东西,你还想改?这时因为第一他们不懂技术;第二他们认为你不懂业务。

如果你想修改某个功能,那你必须能说到位,怎么说到位呢?就是从业务的角度去说明,他们的某个设计需求是不合理的,也是做不到的。否则,就变成,他们什么都想好了,就差个写程序的了。

前端开发的工作流程,这个说的范围就可大可小了。先说小的工作流程,就是产品经理出需求,UI出设计图,前端岗切图和写JS,后端同学准备好后台环境和数据接口,然后前端读取接口获取数据,生成页面DOM,并控制相关UI交互。

如果往大了说,那就前端的技术选型,工程化,包括自动构建,打包,压缩,上线,测试,发布,问题回滚,nodejs服务端渲染,前端路由等等,内容很多,这里不展开了哈。

html,css,js,这三者之间的关系,可以用一栋楼来比喻,html是楼的主体钢筋水泥;CSS是楼的外观装修;JS是电梯,开关一类的东西。当然这个比喻并不完全,它只是要说明一个大概意思,并不能教条死板的去理解。

// 2,为什么学会了JS,却动不了手?

这里包含了二个意思,第一是学会了JS,你是如何定义学会二字的?简单的讲,哪怕你会写简单的JS的例子,也算是学会JS了。JS是一门技能,不是一个学科考一个证,就是说它没有一个点,说你越过了这个点就算学会JS,没越过就是没学会。它的内容就是那么多,只是你对它的理解会越来越深。所以,只要你能做到把网上常见的JS例子都理解,都能照着做出来,你就应该具备了基本的JS开发能力。所以我认为,JS不存在一个会不会的问题,而是说“你现在的JS开发能力是什么程度”。

第二是动不了手,说的是面对一个需求或任务的时候,不知从哪里开始做,不知道先做什么。那这二种情况综合起来,就是你只是学会了JS的语法,和一些JS的例子。但并没有学会用JS去解决问题,完成需求。外在的表现,就是JS会,但不知道怎么用,也不甚清楚什么情况下用什么JS功能。

// 3,解决问题不知如何动手做东西的思路是什么?

通过刚才对第二个问题的分析,相信我们已经在一定程度上找到了问题的原因,那么如何解决呢?首先要多看相关的文章,目的是通过这些文章了解它的使用方法,去做的哪些功能。第二是要多关注它的使用场景,这个场景是指这个网站或是应用是在什么样的外部条件下使用,例如碎片时间?第三是要通过大量的阅读相关文章,搞清楚它是为了解决什么样的业务问题而出现。例如JQ,它的出现背景是为了抹平JS在不同浏览器的区别;MVVM类双向绑定的框架是为了解决单页面应用webapp而出现的。。

// 4,要提升JS,怎么做?

说到提升,就是要有目标,有时限,要分阶段来实现。并且这个目标和时限,要具有可操作性。例如你是前端新人,那你的目标就不能脱离“新入行”这个现实基础。就是说,你不能定一个不现实的目标。例如一年成为前端架构师。所以说,要提升JS怎么做?这个问题最好修改为“我想在一年内JS达到什么程度”。

说到这里,就引出了下一个问题“提升JS的路径”?首先要明确一点,JS是前端的一部分,但前端不是JS,前端往最小里说,它也是html、css、js三者的组合。所以提升你的目标可以是提升JS,但眼睛不能只盯在JS上面,就是说你前端的格局要大。这个“前端格局”,咱们以后再聊,这里不展开了。

说回提升JS的具体路径,至少在目前,我个人认为,在工作中提升是最好的方式。因为可以面对真实的业务,真实的需求,真实的压力。虽然有可能工作中遇到的东西,是你不太感兴趣的;或是你感兴趣的在你当时的工作学不到。但前端知识面本来就很广,你现在不感兴趣的东西,只不过是把你将来要学的东西拿到了现在而已。

而且工作,并不是只有前端,只有JS,它还有各种关系需要你处理。同事关系,上下级关系,工作与爱好的关系,还有各种你喜欢不喜欢,习惯不习惯的事情需要你去感受,处理。比如总加班,总出差,你能不能习惯接受?JS啊,前端你可以自学,但加班,出差这些工作上的事务,你自己只能在工作中去体会。而这些东西也是工作能力一个组成部分。

最重要的是,工作中的压力,比你自学时的压力要大的多。而且工作中用到的技术,就算它low一些,但也基本上是市场需求比较大的。例如jQuery,现在已经不新潮了。但如果你jQuery用的比较6,基本上你在前端行里找个工作问题不大,贴近市场么。

刚才说的那一段,也就是我不太赞同前端新手通过在家自学的方式,来提升JS的原因。就是压力小,动力就小,进度就小。而且方向容易跑偏,就是说,你在家里自学呢,你怎么就能确定最新的技术,就是市场上最需要的呢?

例如,如果我说现在jQuery是市场上使用最多的,你可能会说JQ现在一点也不潮,很low了。但它现在确实非常可能是使用量最大的前端库。

(未完待续)

原文发布于微信公众号 - web前端教室(webfeel)

原文发表时间:2018-09-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏知晓程序

微信可以创建付费群了!赶紧用这款小程序做一个吧 | MINA 奖

毕竟,建个微信群太方便了,一群原本互不相识的人,十几秒钟时间,就能拉起一个交流群。

1041
来自专栏ytkah

微信小程序可以转发给微信好友了

  微信小程序又放大招了:小程序页面可以放置转发按钮,分享更流畅。同时开放了微信运动步数、背景音乐播放等更多基础能力。小程序可以在自己的页面上放置转发按钮,用户...

3334
来自专栏ThoughtWorks

解读技术雷达的正确姿势

张凯峰 ThoughtWorks 接地气的技术雷达 ThoughtWorks在每年都会出品两期技术雷达,这是一份关于技术趋势的报告,它比起一些我们能在市面上见到...

2963
来自专栏WeTest质量开放平台团队的专栏

《魂斗罗:归来》卖“情怀”?不!质量体系来撑腰

海量玩家也意味着海量挑战,适配兼容就是其中一个难题。《魂斗罗:归来》从项目初期研发测试期间,就开始非常关注适配兼容的问题,尽量每个外发迭代版本都交付可测版本给到...

1540
来自专栏华章科技

给网站数据分析师的五个建议

通常网站管理者都想通过网站分析来得到一定的效果,但不知道怎么做才好。实际上能否灵活的使用网站分析很大程度上取决于你如何利用网站分析。这里给大家介绍一下网站分析师...

1163
来自专栏互联网杂技

设计优秀app的秘密

好的产品往往做好了两点:功能和细节设计。功能吸引用户使用你的产品,细节设计将你的用户留下。优秀的细节设计能够使你的产品在众多竞品中脱颖而出,优秀的微交互设计往往...

2794
来自专栏PPV课数据科学社区

电商网站分析实践(上)

给网站带来流量并不是一件容易的事,而在用户到达网站后如何吸引用户与网站发生互动更是一个艰难的挑战。如何建立一个用户喜欢的并能持续回访的一个站点?所有的网站营销人...

43110
来自专栏web前端教室

7月9号晚10点的微课总结(文字版)

大家好,今天是周五,祝大家周末快乐,今天我们用大概一个小时的时间聊一下《学习前端的思路问题》。为什么要聊这个呢,因为群里的小伙伴经常会问我,前端怎么学,学了很久...

2198
来自专栏ThoughtWorks

实践中的精益产品设计 | TW洞见

今日洞见 文章作者来自ThoughtWorks:Natalie Hollier,译者来自:田萌。图片来自网络。 感谢ThoughtWorks校对小组:宋国强、杨...

3489
来自专栏互联网杂技

用户体验设计中最常见的误解

UX Myths网站收集了很多关于用户体验设计中最常见的误解和解释了为什么他们不适用。现在将这些经验研究整理出来,为各位设计从业者做参考,避免依赖个人的主观经验...

3336

扫码关注云+社区

领取腾讯云代金券