Web开发的入门指导

Web开发的入门指导

你点开此文,说明你对Web开发是有兴趣的,或者你正在思考开始学习Web开发。在这里,我会告诉你成为一名Web开发者的路线,是对初学者关于Web开发的指导。这篇文章不会教你如何写代码,而是指出在你在真正写代码之前要思考的事情。Web开发是令人兴奋和有激情的事情,正是迎合了这个高速变化发展的世界。了解Web开发,我们先来定义几个基本的概念。
enter description here

前段和后端

一开始一定要分清前端开发和后端开发,我们来分别介绍一下。

前段

Web应用被分类归为分布式应用,一般是客户端——服务器结构,所以我们有一部分的代码运行在客户端,另一部分代码运行在服务器。那些在客户端上的应用就是前端,通常指的就是我们的浏览器。最常用于前端开发的技术是HTML+CSS+JavaScript,高级的前端开发人员通常使用这些技术的组合开发应用的前端,另一个前端的常用技术就是使用Photoshop设计,配合其他技术共同完成Web页面的制作。

后端

后端开发者编写那些运行在服务器上的代码,通常来说,这部分的工作需要和数据库打交道,比如读写数据、读写文件、实现业务逻辑等。有些时候,业务逻辑存储在客户端,这时后台就是用来以Web服务的形式提供数据库中的数据。后端开发者一般需要掌握一种Web编程语言和一个数据库管理系统。
你可以同时掌握前端和后端的技术,但大多数Web开发者都还是有一定的喜好偏向,甚至只在某一方面深入研究。尽管前后端是有区分的,但并没有规定它们各自的具体任务。有时前端只是完成数据的显示,而其他主要工作都在后端完成。但也有时,后端只是提供数据,而所有的计算和具体功能都在前端完成。前后端工作的分配,通常都是由项目的设计和架构来决定的。

编程语言

对于Web开发,有很多的编程语言可以选择。当需要在前端开发时,标准的开发语言是JavaScript,而当需要后台开发时,我们有更多的选择:

  • PHP

  • JavaScript

  • Ruby on Rails

  • ASP.NET

  • Jave EE

  • Python

这其实也没有一个明确的清单,以上只是开发者通常会想到和使用的语言。那应该如何选择呢?你的选择应该基于以下几个方面:工作市场(求职机会)、托管服务、可用的学习资源、可用的学习时间、周围的开发环境等。
如果你真的想从事开发行业,找到一个Web开发的工作,那最重要的选择因素就是工作市场(求职机会),你要分析行业情况,选择出一门要学习的编程语言。另一个重要因素就是托管服务,比如PHP的托管就要比Java托管便宜很多。而如果你要开发企业内应用,Java EE或许就是一个不错的选择。但如果你要将你的应用上线,Java EE就要比其它语言昂贵很多。
随着Node.js的流行,JavaScript也变得在后端开发中流行起来,但它毕竟还是一个新的、不够成熟的技术,不推荐给初学Web开发的人学习和使用。
在我看来,PHP有着最简单的学习曲线、便宜的托管服务、充足的学习资源(PHP100就是一个很好的选择哦)和相对简单的开发环境,所以我推荐初级Web开发者学习使用PHP。当然,ASP.NET也是一个不错的选择,Microsoft提供了很多ASP.NET相关的学习资源和免费的开发工具,如果你喜欢Microsoft的环境,就值得考虑ASP.NET。

框架

如果你还是一个初学者,在你开始学习框架前还是要先打好基础。框架可以帮助你简化开发的工作,有很多现成的代码库,它提供给你Web应用的结构,让你的编程工作更简单更快捷。如果你要成为职业的Web开发者,你就必须要精通至少一个框架,加速你的Web开发。
框架有很多种类,有通用型的解决方案,也有针对具体问题的方案。你需要先评估你的需求,如果你选择了PHP开发,我推荐使用Laravel作为框架,它是一个近年来非常流行的MVC框架。如果你选择的是ASP.NET,我推荐学习使用ASP.NET MVC和EntityFramework。
Web开发可能过于大型,你只想专注于其中一种应用,比如一个内容管理系统(CMS)。如果你还是选择PHP,那么我推荐WordPress,它可以帮助你创建网站、博客,也可以用已有的插件或主题作为扩展。

接下来做什么

即使你选择只是从事前端或后端的一项开发,你也应该了解一下另一端的开发,这样做会让你的团队有更高的效率。如果你已经学会了一门编程语言及相应的框架,你就应该开始学习另一种语言,每一种编程语言都有自己的优点和范式,了解更多的语言,可以让你对需要解决的问题有更深入的了解,有更好的解决方案,从而成为更优秀的开发者。最后,正如我之前所说,当你在选择编程语言时要考虑很多的因素,我的选择依旧是JavaScript、PHP、ASP.NET和Java EE,大家可以参考借鉴。
原文:http://arian-celina.com/a-beginners-guide-to-web-development
译文:http://www.php100.com/html/dujia/2015/0120/8425.html

转载于:https://www.cnblogs.com/november1943/p/5187631.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373672.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

过滤日志中不相关的堆栈跟踪行

我喜欢堆栈痕迹。 不是因为我喜欢错误,而是因为发生错误的那一刻,堆栈跟踪是无价的信息源。 例如,在Web应用程序中,堆栈跟踪向您显示完整的请求处理路径,从HTTP套接字到过滤器,Servlet,控制器&a…

Dijkstra 最短路算法(只能计算出一条最短路径,所有路径用dfs)

上周我们介绍了神奇的只有五行的 Floyd 最短路算法,它可以方便的求得任意两点的最短路径,这称为“多源最短路”。本周来来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”。例如求下图中的 1 号…

2016给自己一个交代

一、前言 在关于技术上的学习,常常有这样那样的计划,而最终一个都没有真正的落实。零散的学习,终究需要系统总结,才能使自己有所沉淀。从毕业至今,我一直在忙碌,为公司付出自己的很多很多,却只不…

建模步骤_古建设计 | sketchup建模步骤教程(简易入门版)

前言本篇教程主要是针对古建建模入门者。小N给大家分享一套我相对简易的建模步骤。(PS:但是估计有些人可能会感觉我做的东西已经繁琐了……)因为主要是为了让大家熟悉、入门和好记忆。所以讲的东西,小N我会相对简单,有些细节的内容不会更多展…

Linux下面的IO模型

1. Linux下的五种I/O模型 阻塞I/O模型: 一直阻塞 应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。 如果数据没有准备好,一直等待….数据准备好了,从内核拷贝到用户空间,IO函数返回成功指示。 我们 第一…

PIT和TestNG突变测试简介

变异测试是一种技术,它可以发现测试未涵盖代码的哪些部分。 它类似于代码覆盖范围 ,但变异测试不限于在测试期间执行给定行的事实。 这个想法是修改生产代码(引入突变),这应该改变其行为(产生不同的结果&am…

系统架构的演变 -----自 罗文浩

转自:https://my.oschina.net/lwhmdj0823/blog/617713版权声明:罗文浩所有摘要: 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加&#x…

前端请求接口post_前端如何优雅地模拟接口请求?(给你的代码加点小意外)

前言:作为一名前端开发程序猿,每天都被产品经理催着开发,项目一启动,产品就过来了。嘘寒问暖:大胸弟,你啥时开始做啊?一般我们都会直接告诉TA,你先找接口解决数据问题。而我们也会经…

java mongodb 返回所有field_JAVA高级之反射

更多精彩,请点击上方蓝字关注我们!今天跟大家分享JAVA高级之反射的知识。一、什么是反射反射就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道这个类的所以属性和方法;对于…

Linux入门笔记——cal、date、free、clear、history、man、whatis、uname

1、cal 显示日历2、date 显示系统当前的日期和时间3、df查看磁盘剩余空间的数量,常用参数 -h (human)人性化显示内容4、free显示空闲内存的数量,常用参数 -h (human)人性化显示内容5、clear清除控制终端显示…

Ueditor的配置及使用

Ueditor官网&#xff1a;http://ueditor.baidu.com/website/ &#xff08;项目需要JSP版本&#xff1a;UTF-8版&#xff09; 1.配置 <script type"text/javascript" charset"utf-8">window.UEDITOR_HOME_URL "${ctx}/assets/plugins/uedi…

努比亚z17s刷原生安卓_电脑运行手机APP,不会没关系,我推荐你使用显卡服务器运行安卓模拟器...

很多人都想用电脑端运行手机APP&#xff0c;但是又不知道怎么操作。纵横170yun小编推荐大家使用显卡服务器&#xff0c;在显卡服务器上运行安卓模拟器。让你轻轻松松在电脑端运行手机APP&#xff0c;甚至还可以多开噢 。如果你的电脑没有显卡&#xff0c;也没有关系&#xff0c…

Linux入门笔记——文件操作命令1

pwd Print name of current working directory&#xff08;打印出当前工作目录名&#xff09; cd Change directory&#xff08;更改目录&#xff09;例子&#xff1a;cd 更改工作目录到你的家目录&#xff08;和cd ~命令的运行结果是等同的 &#xff09;cd - 更…

使用JacpFX和JavaFX2构建富客户端

创建快速且可扩展的桌面客户端始终是一个挑战&#xff0c;特别是在处理大量数据和长时间运行的任务时。 尽管Eclipse RCP和Netbeans RCP是已建立的平台&#xff0c;但其想法是建立一个轻量级的框架来异步处理组件&#xff0c;类似于Web组件。 开发人员在线程主题上的工作应较少…

lob移表空间 oracle_Oracle数据库(1)Oracle体系结构概述(一)

Oracle数据库的体系结构主要包括&#xff1a;物理存储结构、逻辑存储结构、内存结构和实例进程结构。了解了Oracle的体系结构&#xff0c;就可以对Oracle数据库有一个整体认识&#xff0c;这样有利于后续Oracle的学习。下面我们分别来了解逻辑存储结构、物理存储结构、内存结构…

java 对象的上转型对象(父类)

Example5_10.java class 类人猿 {void crySpeak(String s) {System.out.println(s); } } class People extends 类人猿 {void computer(int a,int b) { int ca*b;System.out.println(c); }void crySpeak(String s) {System.out.println("***"s"***"); }…

手机mstsc远程工具_远程桌面连接,只需3步,轻松远程操控电脑!

远程桌面的好处远程桌面有很多好处的1.对于运维技术人员来说&#xff0c;可以随时随地管理远程主机&#xff0c;查看系统信息和硬件信息等系统性能诊断&#xff0c;远程应用管理内存、CPU等敏感信息报警提醒&#xff0c;对远程主机的一切尽收眼2.对于客户服务来说&#xff0c;可…

qbytearry有数据上限吗_金仕达大数据开发岗位面试题

金仕达-上海(1)自我介绍(2)在离线数仓&#xff0c;实时数仓中担任的角色是什么&#xff0c;介绍项目&#xff1f;数据量有多大&#xff1f;(3)实时的指标和离线指标怎么消除掉&#xff1f;有没有必要一致&#xff1f;(4)Flink上有多少个指标&#xff0c;一个指标一个jar包吗&am…

BZOJ 1012 单调队列+二分

思路&#xff1a; 维护一个单减的序列 序号是单增的 每回二分查找第一个比询问的大的值 我手懒 用得lower_bound //By SiriusRen #include <cstdio> #include <algorithm> using namespace std; #define int long long int m,mod,top,jy,ans,tot; char ch[3]; st…

Linux入门笔记——cat、sort、uniq、wc、head、tail、tee

cat &#xff0d; 连接文件 cat 命令读取一个或多个文件&#xff0c;然后复制它们到标准输出。你可以使用 cat 来显示 文件而没有分页cat 经常被用来显示简短的文本文件。案例 意义 cat ls-output.txt 读取文件标准输出 cat movie.mpeg.0* > movie.mpeg 连接文件&#x…