做软件开发,是从事编程开发工作,必须先从语法基础开始学习,通过语法组成产品效果。

     前端开发的基础语法,由HTML+CSS+JavaScript组成,这是前端开发最基本的3个语言。

     网页布局基础:HTML+CSS

HTML就是超文本标记语言,组成网页内容的最基本语言。你可以直接说他是网页的骨架,网页的图片、文字、视频、音频、程序都需要他引入到网页中体现。

 
 

光是HTML做网页,只是有了内容,当然是远远不够的。因为只是HTML的话,只能用Table做布局才能勉强做出个成型的网页来。但是从Web2.0时代开始,都是盒子模型布局法了,也就是用DIV+CSS来实现布局了。

CSS就是层叠样式表。通过样式属性来对标签进行布局规范,在不再使用table布局的时候,只要CSS样式对网页标签进行对应的布局实现才是正确的开发方式了。

 
 

HTML(div)+CSS布局,是基础入门的基本步骤,在这个阶段,你需要学习的内容,包括有:

1.标签语义化,SEO

2.页面加载的流程和原理

3.网页结构

4.盒子模型(W3C盒子模型和IE盒子模型)

5.CSS选择器

6.CSS布局浮动、定位

在刚刚开始的阶段,大家学习的布局方式基本都是以px为单位的静态布局方法。熟悉好布局方法,先给自己一个小目标,做一个简单的电商网页的基本结构出来,不用特效,不需要交互。

     浏览器脚本语言:JavaScript

JavaScript是我们学习前端开发中非常重要的一个内容,也是一个大家经常掉坑里的难点。JavaScript现在可以说是互联网时代使用率最高的脚本语言了,在网页中,所有的数据渲染,特效的交互都需要利用JavaScript,来影响浏览器的显示。

 
 

JavaScript不只是开发网页特效和渲染数据的重要内容,在学习前端开发的后期,大量使用算法和框架的时候,对JavaScript基础的考验也是很多的。

在基础阶段,我们学习JavaScript需要注意:

1.基本关键字指令

2.基本数据类型、数组

3.函数

4.面向对象编程

5.原型链、闭包

6.JSON

7.Ajax

8.DOM(文档对象模型 原生DOM操作)

9.事件捕获、冒泡、代理

10.常用函数方法

11.ES5、6、7

在JavaScript部分学习,主要还是要去理解好交互的原理,把原理分析清楚,真的理解语法,那写出多复杂的逻辑也是手到擒来。

     JavaScript经典类库jQuery

说到学习JavaScript,很多小白同学肯定会很头痛他的原生写法。每次逻辑业务都需要手动写,也就是用一次就造一次轮子。觉得很麻烦。如果能简单一点就好了。

因为JavaScript有可以封装的特性,所以在后面也出现了很多用JavaScript封装的类库、插件。比如说最经典的类库就是jQuery了。

jQuery类库就是在类库里面封装好了很多JavaScript的事件方法。jQuery通过封装,减轻了遍历、对象选择等等很多的问题。把网页特效的实现变得简单化,通过调用方法就可以了。

 
 

在学习jQuery的时候,需要重点认识的有:

1.jQuery语法和JavaScript原生语法的差异

2.Dom对象和jQuery对象

3.jQuery的入口函数和JavaScript的入口函数的差异

4.jQuery事件的执行逻辑。

学习jQuery,最需要达到的效果就是能快速的完成网页的特效,比如说轮播图、手风琴菜单、旋转木马、放大镜等等这些特效。能完成一个电商网站的布局+特效开发是最基本的要求了。

这些就是零基础学习必备的一些基本内容,在入门前端开发最基本需要掌握的东西,把基础理解好,才能为后面的学习做更多的准备。

多终端进阶学习

除了基础的PC端,目前移动端可以说是非常火的了。

比PC端单一的网页不同,在移动端的技术可以应用到WEB-APP,小程序,Hybrid-App等等。

Web-App

也就是我们常见的浏览器(以及内置浏览器,比如微信)打开的大型移动端网页。比如我们常见的电商网站,功能性网站,管理网站,在布局和功能上都有APP的效果。

做好Web-App开发,最基本的很多人肯定会说响应式布局,但是前端开发是又5种布局法的,除了出名的响应式,还有在移动端最重要的弹性布局法,也就是很多人头疼的rem布局。

除了布局方法之外,在H5新特性和触屏事件和设备兼容性问题也是需要信手拈来。

小程序

这个也不用多说,现在可以说是非常火的,各大平台都有在做自己的小程序,各种砍价,抢票,电商,游戏都有运用。这个以微信小程序为例,主要是微信团队基于前端基础来做的封装语法,主要的还是ES语法。小程序目前很多公司都是招聘前端开发,目前还没有独立的小程序开发工程师,所以小程序可以说是前端工程师高薪就业的加分技能,换句话说就是成熟开发必备了。

 
 

Hybrid-App

又称混合式APP,可能听说的人很少,但是18年是越来越多人去开发了,这种是能直接产出下载到终端的APP的,在体验感上可以说已经具备传统APP的大部分功能了。这种开发门槛较低,也就是前端开发就可以完成。多数都是大包平台就能做,这个你可以后面了解一下。

 
 

前端主流技术框架

前面的都是基础东西,现在去就业前端开发,不是只靠个基础东西,搞个移动端页面就可以算成熟了。前端3大框架,VUE、Angular、React这3个可以说是现在非常火热的了。

 
 

基础语法都可以写的前端,为什么还要框架?

很多小白朋友是不懂什么是框架的,只听过jQuery这些东西,以为就是框架。或者认为框架就是加速开发,觉得这些库、插件就能完成框架的工作了。

其实框架的出现,是改变前端地位的重要标志。最重要的表现,就是前后端分离,在前后端分离之前,很多后端开发都是又当爹又当妈的,效果不好效率也不高,我就是在后端出身,深知痛苦。

现在的前端项目,比以前是更加复杂化、多样化了。项目复杂了,问题也多了。

那框架到底解决了什么问题?

解决重复引用外部js,以用jQuery开发为例,很多时候都是不能单一完成一个项目的,还需要引用很多的第三方插件和库,导致会一个项目引入很多外部JS文件。

 
 

这样不仅让代码变得杂乱,而且很影响打开速度。但是用框架呢,以VUE为例,一般会和构建工具配合,然后就是一个入口文件就可以完成了,在运行时候就在入口引入一次,一劳永逸。

使用组件化开发,组件是前端框架里非常强大的功能之一,它可以扩展你的HTML,封装可以重用的代码块,比如你的轮播图、tab切换、页面头部、页面底部等等。

这种独立的组件具有了结构(html),表现(css)和行为(js)完整的功能,很大程度的节省了代码量,提高了代码的复用性。特别是团队合作的时候,可以很好的提高使用效率。

减少开发周期,如果你觉得jQuery可以减少开发周期了,那其实框架可以比库更快。比如说使用jQuery开发的时候,很多时候是需要频繁去操作DOM,每次效果都要去查找DOM,这样就显得很繁琐了。使用框架的时候,很多功能都得到了封装,比如说很多指令都有数据绑定,数据格式化这些功能。这样更多时候,我们开发的时候只需要关注数据的逻辑就行了。

     大多数人都选择的web前端学习方法:

前端技术每年都会不断更新,自学前端容易学不到最新的前端技术,前端学习建议大家还是要选择培训为好,在前端培训学校,往往都是根据前端技术发展,从而更新前端课程,让学员学到最新的前端知识。像爱创课堂,是一家专门做前端教育的培训机构。是由前百度前端架构师,张容铭老师亲自带队授课全程面授;授课以实战课程为主,张老师前端技术过人,每年有很多学员过来学习,也教会无数名高级前端工程师,在各企业都有就职。近期爱创课堂就是由张容铭老师亲自全面授课的,精品小班,名额有限,想报名可以与我联系!现在也有很多人选择学校很茫然,其实可以到实地去体验一下,毕竟适合自己才是最重要的。

前端学习方法很重要,选择适合自己的学习方法,学好前端最重要的培养持续的兴趣,其次就是不断实践,从实践中逐渐练习前端代码等,从而对前端有很好的理解与吸收。如大家对前端还有不了解的问题,可以持续关注我,每天会发一些关于前端相关知识,供大家学习与参考!

学会网页制作,web app开发,必须先从语法基础开始学习的更多相关文章

  1. 微信公众平台开发:Web App开发入门

    WebApp与Native App有何区别呢?Native App:1.开发成本非常大.一般使用的开发语言为JAVA.C++.Objective-C.2.更新体验较差.同时也比较麻烦.每一次发布新的版 ...

  2. 前端读者 | Web App开发入门

    本文来自互联网 自Iphone和Android这两个牛逼的手机操作系统发布以来,在互联网界从此就多了一个新的名词 - Web App(意为基于WEB形式的应用程序).业界关于Web App与Nativ ...

  3. App.js – 用于移动 Web App 开发的 JS 界面库

    App.js 是一个轻量级的 JavaScript UI 库,用于创建像本地应用程序的移动 Web 应用而不牺牲性能和体验.它是跨平台的,特定的UI设计,配置类似原生的过渡效果.App.js 的目的是 ...

  4. 移动端web app开发学习笔记

    移动web和pc端web以及web app 移动web开发跟web前端开发差别很小,使用的技术都是html+css+js.手机网页可以理解成pc网页的缩小版加一些触摸特性.在浏览器中进行的网页开发,最 ...

  5. 从0到1实战移动Web App开发

    从0到1实战移动Web App开发   教程介绍 从0到1 实战webapp,通过热门的web前端技术实现移动端app应用,先基础.后实战,在讲解的同时引导思考,会抛出自己独特的观点,一行一行写代码讲 ...

  6. 移动web app开发必备 - 异步队列 Deferred

    背景 移动web app开发,异步代码是时常的事,比如有常见的异步操作: Ajax(XMLHttpRequest) Image Tag,Script Tag,iframe(原理类似) setTimeo ...

  7. 移动web app开发必备 - Deferred 源码分析

    姊妹篇  移动web app开发必备 - 异步队列 Deferred 在分析Deferred之前我觉得还是有必要把老套的设计模式给搬出来,便于理解源码! 观察者模式 观察者模式( 又叫发布者-订阅者模 ...

  8. web app 开发必不可少的滑动插件 Flipsnap

    flipsnap.js一个轻量级的滑动效果JS开发库,仅有8k大小(压缩版),包含了10种滑动方式,是web app开发必备的js库,除了兼容主流的智能手机浏览器(iossafari,android, ...

  9. Native App开发 与Web App开发(原生与web开发优缺点)

    Native App开发 Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS.Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是 ...

随机推荐

  1. C# 将dataset数据导出到excel中

    //添加引用 NPOI.dll //添加 using NPOI.HSSF.UserModel; /// <summary> /// 导出数据到Excel /// </summary& ...

  2. Jmeter入门(2)- 基本使用

    一. JMeter入门脚本 学习例子 向百度发送请求 添加测试计划,默认会有一个测试计划 添加线程组 在测试计划上右键 ==> 添加 ==> 线程(用户) ==> 线程组 添加HTT ...

  3. git 报错 error: failed to push some refs to .....

    git push 代码的时候报错,报错如下: 这种报错是因为远程仓库的代码和本地仓库的代码不同步,对本地的代码进行一次拉取,再 git push 就可以解决了 通过如下命令进行代码合并 git pul ...

  4. Hive sql函数

    date: 2018-11-16 19:03:08 updated: 2018-11-16 19:03:08 Hive sql函数 一.关系运算 等值比较: = select 1 from dual ...

  5. codefroces中的病毒,这题有很深的trick,你能解开吗?

    大家好,欢迎阅读周末codeforces专题. 我们今天选择的问题是contest 1419的C题,目前有接近8000的人通过了本题.今天这题的难度不大,但是真的很考验思维,一不小心就会踩中陷阱,我个 ...

  6. JUC---05线程间通信(一)

    一.普通的线程间通信 1.synchronized实现 package com.jenne.mydemo; class ShareDataOne { private int number = 0; p ...

  7. CodeForces 1419F Rain of Fire

    题意 不想写. 题解 场上想了 1h+ 无果,一到场外就口胡出来了,我真是个 sb. 首先注意到如果 \(t\) 满足条件那么 \(t+1\) 也会满足,所以答案具有单调性,可以二分,于是现在只需要考 ...

  8. CodeForces 1420E Battle Lemmings

    题意 略. \(\texttt{Data Range:}1\leq n\leq 80\) 题解 首先考虑初始状态怎么算答案.很明显直接数满足的不好数,用总的减去不满足的还比较好做.注意到所有不满足的是 ...

  9. shell脚本之整数二次元比较操作符

    1.常用二次元比较操作符知识 我们也可以通过man test查看 提示: (1) ">"和"<"符号,在单括中需要转义,在双中括号中不需要转义,因为 ...

  10. Nginx 配置请求响应时间

    1.常见默认nginx.conf配置日志格式 log_format main '$remote_addr - $remote_user [$time_local] "$request&quo ...