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

前端 VS. 后端

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

前端

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

后端

后端开发者编写那些运行在服务器上的代码,通常来说,这部分的工作需要和数据库打交道,比如读写数据、读写文件、实现业务逻辑等。有些时候,业务逻辑存储在客户端,这时后台就是用来以Web服务的形式提供数据库中的数据。后端开发者一般需要掌握一种Web编程语言和一个数据库管理系统。

你可以同时掌握前端和后端的技术,但大多数Web开发者都还是有一定的喜好偏向,甚至只在某一方面深入研究。尽管前后端是有区分的,但并没有规定它们各自的具体任务。有时前端只是完成数据的显示,而其他主要工作都在后端完成。但也有时,后端只是提供数据,而所有的计算和具体功能都在前端完成。前后端工作的分配,通常都是由项目的设计和架构来决定的。

编程语言

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

PHP

JavaScript

Ruby on Rails(配合Ruby语言)

ASP.NET(配合.net语言)

Java 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,大家可以参考借鉴。

java web开发菜鸟教程_Web开发的入门指导相关推荐

  1. java web响应式框架_Web开发的十佳HTML5响应式框架

    HTML5框架是一类有助于快速轻松创建响应式网站的程序包.这些HTML5框架有着能减轻编程任务和重复代码负担的神奇功能.关于HTML5的框架种类繁多,并且很瘦欢迎,因为它能允许开发人员花费更少的时间和 ...

  2. c mysql web开发实例教程_Web开发(六)MySql

    数据库简介 数据库(DB) 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据库中的数据按一定的数学模型组织.描述和存储,具有较小的冗余,较高的数据独立性和易扩 ...

  3. 《Java Web程序设计基础教程》简介

    本书是关于Java Web开发的基础教程,共分15章.第1章介绍如何构建Java Web应用:第2.3章介绍如何解决Java Web应用的输入和输出问题:第4-6章对登录功能进行了3次重构,这也是Ja ...

  4. 《Java Web程序设计任务教程》简要复盘:第二章 JavaWeb概述

    <Java Web程序设计任务教程>简要复盘:第二章 JavaWeb概述 第二章:Java Web概述 XML基础 XML概述 XML语法 HTTP协议 1.HTTP概述 HTTP介绍 W ...

  5. 视频教程-微信小程序开发培训教程-微信开发

    微信小程序开发培训教程 本人计算机专业,毕业工作已经10多年,从事过的行业有,安防,通讯,Gps定位,信息统计分析,互联网电商等,从事过的职位. 代码工程师(使用过的语言C#,PHP,Java),Ap ...

  6. 最新《北风网web全栈教程 前端开发全套教程》

    教程目录: 1-1初级教程 入门必备 - 新手学HTML+CSS 1-2初级教程 入门必备 - PS技法与切片技术 1.熟悉Photoshop基本知识 2.Photoshop工具的使用 3.Photo ...

  7. java web打包神器_前端开发人员的桌面应用神器 Electron

    原标题:前端开发人员的桌面应用神器 Electron 01 为什么用 Java 来开发桌面应用? 曾经的 Java 脆弱.简陋.甚至有被边缘化的危险,不过 Java 在经过了两次飞跃后(以 V8 为首 ...

  8. python测试开发自学教程-测试开发学习路线图

    Python PEP8 编码规范中文版 https://www.cnblogs.com/bymo/p/9567140.html 选择等宽编程字体:https://blog.csdn.net/hsc45 ...

  9. 《Java Web程序设计基础教程》前言

    前     言 在多年的教学过程中,作者使用了多本JSP的教材,应该说这些教材都写得挺好.但是实际了解到的情况是学生听课的时候可以听懂,学完之后却不知道怎么去应用,要自己编写一个网站程序还是有困难.这 ...

最新文章

  1. 通过RMAN克隆11g数据库(基于active database)
  2. python下什么-python官网下的包是干什么用的?
  3. UVA 11645 Bits(组合数学)
  4. 回归(regression)与分类(classification)的区别
  5. Collections接口下的Comparetor类和Comparable接口排序
  6. 数位dp 记忆化搜索java_hdu 5787 数位dp,记忆化搜索
  7. ngui 输入事件处理
  8. 视觉注意力的循环神经网络模型(Recurrent Models of Visual Attention)
  9. 尚硅谷谷粒商城之环境搭建
  10. Charles 破解版安装
  11. Astah Professional UML 建模工具2022版
  12. 企业微信公众号怎么运营管理?
  13. 2015全国硕士研究生计算机考研真题(附答案)
  14. Android聊天室(服务器)
  15. 邓奶奶坐轮椅泪别袁爷爷
  16. 广东计算机二级考试大纲,全国计算机等级考试二级考试大纲(Fortran)
  17. Mybatis缓存机制(一级缓存、二级缓存、三级缓存)
  18. R语言 关联TCGA数据库下载的RNA-SEQ数据和临床信息
  19. Interspeech 2021 | 腾讯AI Lab解读9篇入选论文
  20. 废旧计算机cpu diy,手把手教你从废旧CPU提取金银

热门文章

  1. PyTorch学习笔记(六)——Sequential类、参数管理与GPU
  2. MYSQL 行转列、列转行、多列转一行、一行转多列
  3. python双色球-(三)线性回归预测
  4. Typora文档快捷键失效解决方法
  5. 多重背包---二进制拆分---java小知识
  6. 一加手机和OPPO的关系,本文为你理清
  7. 瑞芯微rv1126+yolov3模型转换
  8. linux定位so快捷方式_使用addr2line命令定位到行号解析.so的文件
  9. iterm2隐藏标题栏
  10. rabbitmq启动报错 .erlang.cookie must be accessible by owner only