感谢大神的分享,按照大神的分享框架,我又补充了一些资料,整理了这份只管即便普通易懂的遍及文,供如我一样0技能根本的产品补课。
0 什么是前端?什么是后端?
实在这个部分,元一没有讲的特殊普通易懂(大概是高手不屑于遍及这种小白问题T.T),我倒是在知乎上看到一个很赞的说法:在你手机(电脑)上跑的代码是前端,在机房里跑的代码是后端。……太形象了!
说得正经点:现在的网站都是MVC(Model View Controller)架构,便是 业务模型(model)-用户界面(view)-掌握器(controller)。这三个层次共同组建了一个网站。
MVC
业务模型(model)指的是数据和业务规则,便是在数据库中存储这些数据,并处理这些数据间的逻辑。
用户界面(view)便是呈现在用户面前的这些界面,标题在什么位置,用什么字体,右下角要放个什么图片,之类的。
掌握器(controller)处理用户交互,从界面(view)读取数据,向业务模型(model)发送数据。 前端工程师,一样平常卖力VC的部分;后端工程师,则卖力M的部分。但各个公司对前端和后真个事情划分并不完备同等,有些事情前后端都可以做。
1 前端
1.1 前端紧张措辞
1)Html:全称HyperText Markup Language,搭建网页的根本措辞。文档写起来并不繁芜,但是功能很强大,而且什么平台都能用,什么电脑都能用。
2)CSS:但是想网页更精美更酷炫,就须要用到CSS措辞了。CSS能够对网页中工具的位置排版进行像素级的精确掌握,支持险些所有的字体字号样式,拥有对网页工具和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最精良的表现设计措辞。
3)Javascript:如果想要网页有更酷炫的交互,就要用到Javascript。它是通过嵌入到html中来实现自身功能,紧张用于添加交互行为,可以在多平台下运行(如Windows、Linux、Mac、Android、iOS等),还可以掌握cookies,等等吧。
4)jQuery:这是一个时下最盛行的Javascript库,紧张面向查询(Query)。大略理解,便是javascript里面那些须要用一行行代码实现的体力活,在jQuery里面可以直接打包成模块,调取对应的接口利用,解放了开拓者更多的韶光。这种模块化的利用办法让开发者可以很快就开拓出酷炫的页面。
5)Bootstrap:Bootstrap也是对Javascript进行封装,它在jQuery的根本上进行更加人性化的完善,实在便是更方便了。它有很多现成的组件,比如导航栏、下拉菜单、按钮,都定义好了样式和交互,直接成套拿来用就行了。
这么看上去,前端措辞的内在关系就比较好理解了,举个栗子:好比一个互联网产品便是一个妹纸,html是搭建了她的身体,这个是根本(要先有个妹纸);CSS是给她穿上俊秀衣服;Javascript是教会她扮装,先隔离后粉底,先眼线后睫毛;jQuery是把扮装进行整合,紧张卖力实现“一个步骤无瑕底妆”;Bootstrap也是对扮装进行整合,紧张卖力实现“一个步骤清纯大眼妆”和“一个步骤性感唇妆”,逐渐地,html搭建出来的妹纸就变成女神了……
(我疑惑这么写程序猿们会看不懂哈哈哈哈哈)
1.2 如何评估前真个能力?
此段完备copy元一的PPT,从初阶到高阶分别为:
•只会基本的HTML/CSS, 可以将设计图转化为HTML/CSS, 俗称切图
•懂一些Javascript,紧张是利用现成的框架,jQuery,Bootstrap等等
•知道jQuery,Bootstrap的局限,在须要时可以直接编写原生JS/CSS
•对JS/CSS非常理解,热衷于利用浏览器的各种最新特性实现各种炫酷效果
•可以根据须要写出封装良好的JS类库或者开拓框架 恩,非技能出身的CEO们可以心里有谱了……
2 后端
2.1 后端措辞
1) C#/Java:这两者都是名声显赫的程序设计措辞,功能强大且完善。但入门难度也比较高,繁芜。
2)PHP:PHP最早是Personal Home Page的缩写(便是这么直白!
任性!
),后来更名为Hypertext Preprocessor,便是超文本预处理器。PHP的上风是可以被嵌入html措辞,以是实用性强、入门大略、随意马虎上手,但缺陷同样很多,由于是开源没有标准框架,等等吧。
3)Ruby:Ruby是一种面向开拓者的措辞,语法大略(“懂英语的人都能学会”——张元一),看重人性化,而不是一味从机器的角度着想。以是Ruby的优点便是易懂易上手,开拓效率高,但数据量大时性能不敷。
4)Node.js:这是基于Javascript的一种措辞,适宜有前端根本的人进入后端利用;采取异步编程模型,处理高并发时有性能上风。
5)Lisp:号称业界最强的编程措辞没有之一,更多是Geek和科学家们的钟爱。有兴趣可以去多理解一下,作为入门科普就不多研究了。
6)无后端:一些移动运用初期可以没有后端,实现项目的快速启动。无后端(noBackend)致力于让构建一个运用的过程变得更大略,实际上是通过前端代码抽象成后端接口。可用的工具有Facebook Parse, Google Firebase以及海内的LeanCloud。
2.2 数据库
数据库是按照数据构造对数据进行存储、组织和管理的库。你可以大略地把数据库想象成公司的文件柜,每个柜子里放不同的文件,通过柜子编号可以找到你要的资料;把资料放进去时,也放到对应编号的柜子里去。而在数据库中,还涉及到数据的不同类型、数据间的映射关系等等的信息。
数据库有很多种类型,常见的有ORACLE、DB2、SQL Server、Sybase、Informix、MySQL、VF、Access等等(是的,这些都是不同类型的数据库),这里紧张先容的时MySQL和MongoDB。
1)MySQL:MySQL是一个关系型数据库管理系统。什么是关系型?便是说有关联的数据是保存在同一个表内,而不是把所有数据堆在一起,这样查起来就很方便。MySQL的优点是体积小、速率快、本钱低,是很多中小型网站的首选。但是,关系型数据库的缺陷是在海量访问并发和海量数据管理时的力不从心,而且对数据库的升级和扩展很麻烦,每每须要停机掩护和数据迁移。这是令人难以忍受的。
2)MongoDB:MongoDB是一个基于分布式文档存储的数据库,介于关系型数据库和非关系型数据库之间,他可以支持很疏松的数据构造,以是能够支持较繁芜的数据类型;同时又能支持关系型数据库表单查询的大部分功能,以是在一定程度上集成了两者的优点。
2.3 做事器如何辨别用户是谁?
做事器辨别用户是通过Cookie和Session实现的。
1)Cookie:Cookie是一种数据,它由做事器天生,发送到你的浏览器,然后由浏览器保存到本地的某个文件夹里,等你下次再上岸这个网站时,浏览器就会把你的Cookie发送给做事器,这时做事器就知道了“啊原来又是你丫”。一条Cookie的生命一样平常是一个循环,便是当你第二次登录网站时,第一次上岸的那条Cookie会被覆盖;但也可以指定周期,比如“一个月内自动上岸”这种情形……
2)Session:Session实际上是一种韶光的观点,便是你打开一个网站到关闭这个网站之间的韶光。这段韶光里,你在网站上的动作都被当做Session保存在做事器中,比如说“返回上一个浏览页面”这种动作,便是由Session实现的。Session保存在做事器上,关闭了网站怎么办?你的Session会被编上号,以SessionID的形式发送到浏览器,以Cookie的形式保存在本地,这便是Cookie和Session的亲密互助。
当然各个网站的策略不太同等,下次浏览某网站时,可以留神下自己的操作行为是如何被记录的。
3 移动开拓
开拓移动运用程序紧张分为以下三种情形:
1)原生:指的是完备基于移动平台写代码(比如iOS平台支持Xcode和Objective-C,安卓平台支持Eclipse和Java),看上去外不雅观最好,用起来性能最佳,实现的功能最多,当然也就比较费工夫。适宜对速率、性能特殊敏感的运用,如拍照、视频类,常日开拓周期为4-6周;
2)HTML5:利用标准的Web技能(常日是HTML5、JavaScript和CSS),可以只编写一次就跨平台运行,更快做跨屏适配,效果很酷炫,但也有一些功能的局限,常日开拓周期为1-2周;
3)稠浊式:便是将HTML5嵌入到原生器中,集成了以上两者的优点和缺陷。适宜已有web端产品,想以最低本钱迁移到移动端,常日开拓周期为3-4周。
大概便是这样了。一欠妥心写了将近3000字我也是蛮拼的……
本文作者莔莔有神(微旗子暗记:pokeclub)投稿发布,转载请注明来源于大家都是产品经理并附带本文链接