作为一篇Web开发初学者指南,本文从学习什么出发到如何专攻。从前端、后端,到编程语言,再到框架,或许对打算进军Web开发的您有所帮助。
& L; J* {5 p) ?% Q8 A& r- P7 ?1 J& v* M0 q5 [/ p$ L
如果你正在阅读这篇文章,你可能是对Web开发有某种兴趣,甚至你开始想去学习Web开发。本文则展示了一个成为一个Web开发者可以遵循的途径。作为一篇初学者指南,本文从学习什么出发到如何专攻。或许对打算进军Web开发的您有所帮助。
2 `+ Z% @) U& q8 [8 U. A前端VS后端
! u* ]+ [, Z$ V- P; L2 d
1 u( @. Z4 [( F/ G/ O& K或许你会觉得最初的缺口是前端和后端,所以让我们先看下什么是前端和后端。 J3 @) V% b1 m6 i( R$ w* h" q& n
& g9 g5 a: z+ }* k前端7 h. v" |3 b! c& \1 M- e9 ]6 Z3 _
* R0 O# y9 {2 x2 g RWeb应用按照客户-服务体系结构分类为分布式应用。所以我们的代码有一部分运行于客户端,还有一部分运行于服务端。运行于客户端部分的应用(大多数情况下,客户端是指我们的Web浏览器)被成为前端。最常见的用于前端开发的技术组合是HTML+CSS+JavaScript。前端专家通常使用这些技术开发专业知识来创建Web应用的前端。; h' N" |; L% O+ e v+ z9 S
8 A/ z, S: P, H$ _! x' P
后端" s9 @- {2 X) u$ e3 V
. w8 L* P1 b# C/ r. P' ^后端开发者编写运行于服务器上的代码。通常情况下,这部分工作需要为读/写数据、读/写文件、制作业务逻辑等连接数据库。有些情况下,业务逻辑是驻留在客户端的,这时客户端通常以Web服务的形式被用以服务来自数据库的数据。后端开发者通常精通于一种Web编程语言和一个数据库管理系统。: j& d- q' y% K+ V4 y/ H6 C
; h1 ?+ y4 c( ], Y6 j* w+ c8 w你可以同时掌握前端和后端,当然从一般情况来讲,Web开发者更倾向于其中的一个,对另一个只做了解。专攻于一个的也大有人在。虽然两者之间有一个分割线,但是对于哪一方应该做些什么是没有限制的。有时候前端仅用于可视化表示,所有的工作都在后端完成。而有些时候后端只服务于数据,所有的计算和函数都位于前端。这是一种设计和结构的关系,以此来定义哪一方做什么事情。) n" [/ A) N/ D: ^3 t
编程语言
, g! O4 [) O' y; ^, U
# {/ _, v$ W0 u- p/ }; @; E- \目前有很多对Web开发可用的编程语言。当我们选择前端的时候,事实上的标准语言是JavaScript。当选择后端时,可供选择的就有很多了,下面列举了一些流行的选择:( |5 o7 v# h; n
& J4 V& Q6 t$ I5 z& u+ v; { PHP9 U& [! I( J% f/ x, n2 X
JavaScript
8 m7 E% q5 S& _7 u' E Ruby on Rails(与Ruby编程语言一起使用)
5 b, o; D _- ]; Z% e ASP.NET(与.net编程语言一起使用)- {9 t L& u& r! t# H. S
Java EE
; n7 s; Y& L6 x Python: l# p" M. M0 @% M1 l6 Y( z
5 q; G/ O) l. U这只是其中的一部分,你的选择应基于一些因素的评估,如就业市场、Web应用的托管环境,可提供的学习资源、可用的学习时间以及你四周的开发社区。
4 S- O6 x5 U2 d+ w! M+ O3 _, k
8 M$ K7 r5 Q" r8 B3 P$ B1 S如果你想成为一个Web开发者,从个人角度来看最重要的因素应该是就业市场。你应该分析你所处在(或者你想要处在)的就业市场并且选择有大量职位空缺的语言。另一个重要因素是托管环境,例如PHP托管要比Java托管便宜的多。如果你要开发一个将被托管于组织内部的内网应用,这时Java EE或许会是一个很好的选择。但是如果你希望你的应用成为线上时,Java EE相比其他语言可能就要昂贵的多了。- z' H! z0 n# @0 p, r! P
+ }9 e: @! ^0 [9 @- B/ H8 @随着Node.js的流行,JavaScript开始成为一个受后端开发者欢迎的选择。然而,它仍然是相当新的、不成熟的技术。所以不太建议初学Web开发的人学习。! `) P+ ~/ `6 `$ o3 Y7 M1 s% X) ]
9 X5 E5 v% T, D* r* c* H5 z: K
从个人来看,PHP拥有最简单的学习曲线、廉价的托管环境、丰富的学习资源和相对容易的开发环境。这对初学者来说是个不错的选择。除此之外,ASP.NET也是个不错的选择。微软提供了很多的学习资源、免费的开发工具和一个相当丰富的环境。如果你喜欢微软的生态系统,那么你可以考虑ASP.NET。
3 x; \, ^8 Y- E i" o( y; q1 W框架
& w( s% g. u G; r7 q' a# c9 K$ E9 Z; p3 A0 H( N- e& b, F# Z
如果你是一个初学者,给自己一些时间去学习一个框架。框架是简化Web开发者工作的代码库。框架赋予Web应用一个结构,这帮助开发者更容易的处理一些任务并且效率上比什么都要自己编写来的快。如果你想要成为一个专业的Web开发者,那么就必须要学习至少一个框架,促进你的发展速度。1 V( B. U0 C% F, q9 e( @+ k( u
6 {) J- V- x+ H2 e# y( x+ p目前你可以学习的框架有很多,你必须评估你的需求。如果你选择了PHP,那么建议你把Laravel作为一个选择。如果你选的是ASP.NET,那么你可以选择学习ASP.NET MVC和EntityFramework。
, @& S4 z0 q. r4 ]* _5 W) y6 i1 `. O) X0 n7 u/ S
Web开发可以是巨大的,你可能想要专注于一种类型的应用。以Web网站的内容管理系统(CMS)为例,如果你选择了PHP,那么建议你继续使用WordPress。WordPress允许你创建网站、博客,同时它也能够通过默认插件或自定义插件和主题来扩展,以适应更加复杂的业务应用。4 z4 p" j/ w# `% [' M
) R! c2 ~: w" ]% r* I
你将发现你选择的任何一种语言背后都有大量的框架,所以基于你选择的语言,你将和不同的框架打交道。7 y* F E& k/ m1 r& z; n; G
下一步. J1 ?7 C r- f& p, i5 Q; J' ?& s
( W6 e$ t2 ~3 L! \6 p2 _; d. _
在第一个建议中,即使你选择专攻于前端或后端,你也应该对另一端有所掌握。如果你这么做了,你的团队会表现的更好。如果你已经学习了一门语言,掌握了一种框架。或许你应该考虑重新开始一个,编程语言都有自己的理念和范式,知道两个或两个以上的编程语言可以让你对如何解决编程语言有一个更好的认知和理解,会使你成为一个更“流利地”开发者。正如前面所说的,你必须在选择语言的时候考虑众多因素。你可以在以后的道路中慢慢的扩展你的选择清单。如果看文章的您是一位Web开发的大牛,也欢迎您在文章后面的评论中分享您在开发过程中所遇到的点点滴滴。 H" T& G8 |; ]( \( ]; w1 \& L, l
+ d! [/ Q8 J# P8 d8 b责任编辑:okgjylc5319.com
% k, x% |% N* d* |7 a* r/ u
7 P7 T! {! v5 V2 L* ~ |