热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我的前端入门经历

前言大致想来,接触前端已有两年左右的时间,也曾迷茫过,所幸坚持了下来,也终于入门了。两年来看过不少书,接触过不少新技术,随着知识边界的不断扩展,也越来越感觉到自己的不足,还有更多的知识点需要掌握。

前言

大致想来,接触前端已有两年左右的时间,也曾迷茫过,所幸坚持了下来,也终于入门了。两年来看过不少书,接触过不少新技术,随着知识边界的不断扩展,也越来越感觉到自己的不足,还有更多的知识点需要掌握。平时,有不少人问我怎么学习前端的,一般我是不回复这类问题,不是不愿意,而是回答不了。因为自己也才刚入门,没有什么能力指导别人,还有就是不同的人有不同的知识储备和编程基础,总的来说就是各有各的情况,我的学习方法或许只适合我本人。这篇文章并不是为了指引其他小伙伴入门,仅仅是一个个人的阶段性回顾。

初始接触

最初接触前端还是本科时候,是大二还是大三业已忘记,学了一些HTML/CSS,并没有深入了解,毕竟年轻嘛!不知道学什么,什么又都想了解一点。只是感觉,自己可以用程序写出来一张页面是很酷的事情,做页面远比写C++代码有趣多了。硕士阶段,一个项目需要一个完整登陆模块,那个网站是ASP.NET做的,为此就学习了两个月左右的ASP,做了一个完整的登陆注册模块,算是对web开发有了一个粗浅的认识。一位师兄是前端方向的,导师也让跟着他学点东西,看他拿到了网易的offer,就感觉到前端还是很有前途的,就转向了前端。当时也没想着毕业后从事前端工作,仅仅是为了学点东西而已,对于未来择业还是偏向于事业单位或研究所。没想到接触的越多,了解的越多,越就喜欢从事这个行业。

知识储备

本人接触或学习一门知识或者技术,一般先把背景知识了解后,知道其应用场景及意义后才会进行系统学习,学习前端知识也是这样。先去w3school学习了前端包括的几大核心知识HTML/CSS/Javascript,当然也把网站上所有的知识点都浏览了一遍,包括PHP、XML等等。对web开发有了一个大概认知之后,就开始系统的学习前端知识。

在学习基础的知识的过程中,并没有忘记拓展自己的知识边界,也看了不少其他相关书籍。下面是一些书籍列表:

  • 《Javascript基础教程》
  • 《Javascript基础与实例教程》
  • 《Head First HTML与CSS》
  • 《HTM5与CSS3权威指南》
  • 《响应式Web设计 :HTML5和CSS3实战》
  • 《网页设计与配色经典案例解析》
  • 《超人气网站是这样建成的》
  • 《网站设计解构 :有效的交互设计框架和模式》
  • 《Web 2.0界面设计模式》
  • 《CSS创意课 :全球优秀交互页面设计》
  • 《响应式Web图形设计》
  • 《Sass与Compass实战》

在学习的过程中,为了练习网站布局,大致重构了HTML5中国、京东等网站的网页。

在掌握了一定的前端基本知识后,感觉Javascript是前端里面最核心的一部分,就把学习重心放在了Javascript上,看了下列书籍:

  • 《Javascript高级程序设计》
  • 《Javascript启示录》
  • 《高性能Javascript》

高级程序设计本书无疑是一本经典之作,讲解的非常全面、细致,但个人感觉并不适合初学者,因为里面有不少知识点并不是初学者可以深刻理解的。同一句话的含义对于资深程序猿和菜鸟程序猿是不同的,高级程序设计本书适合有一定基础的人阅读,最好读多遍,这样才能深刻理解Javascript语言本质。

对高质量代码的不懈追求是一个优秀工程师必备的素质,要想写出高质量的代码就需要对web性能优化相关知识有一定的了解,我就阅读了以下书目:

  • 《高性能网站建设进阶指南 :Web开发者性能优化最佳实践》
  • 《Javascript设计模式》
  • 《编写可维护的Javascript》
  • 《Javascript函数式编程》
  • 《WEB性能权威指南》
  • 《WebKit核心技术揭秘》
  • 《Web前端黑客技术揭秘》

很多招聘前端工程师的职位要求往往都会对后端知识储备有所要求,LAMP是很多公司的后台技术选型搭配,就学习了最好的语言--PHP,看了:

  • 《PHP与MySql程序设计》

代码是写出来的,只有多写代码,才能养成良好的编程习惯,写出高质量、可维护的代码,在储备知识的过程中不要忘记动手实践,只有在不断的实践才能不断的提高自己的编程水平。

项目实践

对于大部分在校学生来说,并没有多少好的项目让你去做,没有项目做也就不能积累项目经验。不少人做的第一个项目就是自己的个人博客,我也不例外。下面就是关于这个个人博客的一些经验:

这是一个闲来无事练手之作,也是对自己长时间学习前端知识的一个检验。从需求的分析、页面的设计,再到概要设计及编程实现,以及上线和测试,一个完整的流程走下来,对软件开发有了更深刻的认识,收获了很多。由后台管理系统和用户浏览页面两个部分构成。下面就详细的叙述一下这个博客所用到的一些编程语言和框架类库及收获。   

  • 前端实现

Javascript/HTML/CSS毫无疑问是必不可少的,在写Javascript代码时用的jQuery库,它是轻量级的js库,兼容CSS3和各种浏览器,jQuery使用户能更方便地处理HTML、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery给开发者提供了很大的便利,当然如果写的是一个复杂的应用或者调用很频繁的程序,最好还是用原生的JS写,毕竟最高效的还是原生的。推特的开源框架 BootStrap是一款很流行的前端框架,Bootstrap 让前端开发更快速、简单,本博客也使用了它。为对HTML进行更新时简化代码,提高代码利用率,还使用百度前端团队开发JS模板引擎。为了使博客的界面更加的漂亮,为博客注入一丝活力,也使用了粒子跟随插件。为了更好的管理博客,使用Datatables插件,以及一个所见即所得的基于BootStrap的富文本编辑器。

  • 后端实现

关于后端,本来准备学一点Node.js,把博客放在我们实验室自己的服务器上,但一想离开后就不容易维护了,就选择了PHP和MYSQL,这样方便在新浪SAE上发布。以前也看过一些PHP的教程,但没怎么使用过,很快也就把知识还给作者了。所以为了搭建后台,就选择了一款轻量级的框架-CodeIgniter。简单易学,很快就可以上手,对于新浪SAE上也有专门的优化。CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。这个框架很容易上手,想自己做一些网站的小伙伴可以学习一下,在学习之前最好对PHP和MYSQL有一些了解,从w3school可以了解一些基础知识。磨刀不误砍柴工,对基础知识有一定的了解之后,可以快捷高效的使用CodeIgniter框架,也可以避免一些低级错误。新浪SAE上的MYSQL版本较低,你在本地上创建的数据库可能不可以直接导入到SAE平台数据库中,这时候你就得自己动手从新创建了。 

还做一些其他的项目练手,比如老年卫视,钟表式日历插件,故事续写网站等。

新技术

一入前端深似海,有太多的知识需要学习,也有不少的新技术、新概念不断涌现。学习或者了解过less/sass、angular、node、react、grunt等,但于学生的我来说缺少一些应用场景,也仅仅停留在学过而已,只对其概念有所了解。

个人感觉对于新技术不要盲目,打好基础才是王道,无论是什么样的技术只有结合具体项目才有用武之地,不能人云亦云,一拥而上。我们要随着项目实践不断拓展自己的知识边界,而不是闭门造车。


推荐阅读
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • PHP 各版本对比:标准版与最新顶级版的详细分析 ... [详细]
  • 为开发者提供了一系列实用的参考网站和资源链接,包括HTML速查手册( 和 ),帮助开发者快速查找和学习相关技术知识。此外,还涵盖了其他重要的开发工具和文档,为编程工作提供全面支持。 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • 本文详细介绍了如何安全地手动卸载Exchange Server 2003,以确保系统的稳定性和数据的完整性。根据微软官方支持文档(https://support.microsoft.com/kb833396/zh-cn),在进行卸载操作前,需要特别注意备份重要数据,并遵循一系列严格的步骤,以避免对现有网络环境造成不利影响。此外,文章还提供了详细的故障排除指南,帮助管理员在遇到问题时能够迅速解决,确保整个卸载过程顺利进行。 ... [详细]
  • 基于Java和SSM框架的志愿者管理平台源代码分析与实现
    本研究针对基于Java和SSM框架的志愿者管理平台进行了详细的源代码分析与实现。该平台属于Java Web项目,采用Java EE技术栈,并结合了Spring、Spring MVC和MyBatis三大核心框架(非开源)。项目名称为“基于SSM的志愿者管理系统”,旨在提升志愿者管理的效率和规范性。通过对系统架构、模块设计及关键代码的深入解析,本文为开发者提供了全面的技术参考和实践指导。 ... [详细]
  • PHP与MySQL的Web应用开发技术深入解析
    PHP与MySQL的Web应用开发技术深入解析 ... [详细]
  • 在HTML5应用中,Accordion(手风琴,又称抽屉)效果因其独特的展开和折叠样式而广泛使用。本文探讨了三种不同的Accordion交互效果,通过层次结构优化信息展示和页面布局,提升用户体验。这些效果不仅增强了视觉效果,还提高了内容的可访问性和互动性。 ... [详细]
  • 如何在Mac上构建高效的本地服务器环境
    在Mac上构建高效的本地服务器环境,首先需要了解基本步骤:1. 配置目录基础;2. 启动Apache服务;3. 添加自定义文档至本地服务器;4. 查看自定义效果。此外,还可以通过手机或其他电脑访问本机服务器,以确保跨设备的兼容性和调试效果。Mac系统自带的Apache服务为本地开发提供了便捷的工具,本文将详细介绍每个步骤的具体操作方法。 ... [详细]
  • 在数据表中,我需要触发一个操作来刷新特定列的数据。例如,对于以下表格:| ID | Name | IsDeleted ||----|-------|-----------|| 1 | test | True || 2 | test2 | False |我希望在点击“更新”按钮时,能够仅刷新选定行的“IsDeleted”列。这将有助于确保数据的实时性和准确性。 ... [详细]
author-avatar
mobiledu2502924027
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有