java web开发菜鸟教程_Web开发的入门指导
你点开此文,说明你对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开发的入门指导相关推荐
- java web响应式框架_Web开发的十佳HTML5响应式框架
HTML5框架是一类有助于快速轻松创建响应式网站的程序包.这些HTML5框架有着能减轻编程任务和重复代码负担的神奇功能.关于HTML5的框架种类繁多,并且很瘦欢迎,因为它能允许开发人员花费更少的时间和 ...
- c mysql web开发实例教程_Web开发(六)MySql
数据库简介 数据库(DB) 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据库中的数据按一定的数学模型组织.描述和存储,具有较小的冗余,较高的数据独立性和易扩 ...
- 《Java Web程序设计基础教程》简介
本书是关于Java Web开发的基础教程,共分15章.第1章介绍如何构建Java Web应用:第2.3章介绍如何解决Java Web应用的输入和输出问题:第4-6章对登录功能进行了3次重构,这也是Ja ...
- 《Java Web程序设计任务教程》简要复盘:第二章 JavaWeb概述
<Java Web程序设计任务教程>简要复盘:第二章 JavaWeb概述 第二章:Java Web概述 XML基础 XML概述 XML语法 HTTP协议 1.HTTP概述 HTTP介绍 W ...
- 视频教程-微信小程序开发培训教程-微信开发
微信小程序开发培训教程 本人计算机专业,毕业工作已经10多年,从事过的行业有,安防,通讯,Gps定位,信息统计分析,互联网电商等,从事过的职位. 代码工程师(使用过的语言C#,PHP,Java),Ap ...
- 最新《北风网web全栈教程 前端开发全套教程》
教程目录: 1-1初级教程 入门必备 - 新手学HTML+CSS 1-2初级教程 入门必备 - PS技法与切片技术 1.熟悉Photoshop基本知识 2.Photoshop工具的使用 3.Photo ...
- java web打包神器_前端开发人员的桌面应用神器 Electron
原标题:前端开发人员的桌面应用神器 Electron 01 为什么用 Java 来开发桌面应用? 曾经的 Java 脆弱.简陋.甚至有被边缘化的危险,不过 Java 在经过了两次飞跃后(以 V8 为首 ...
- python测试开发自学教程-测试开发学习路线图
Python PEP8 编码规范中文版 https://www.cnblogs.com/bymo/p/9567140.html 选择等宽编程字体:https://blog.csdn.net/hsc45 ...
- 《Java Web程序设计基础教程》前言
前 言 在多年的教学过程中,作者使用了多本JSP的教材,应该说这些教材都写得挺好.但是实际了解到的情况是学生听课的时候可以听懂,学完之后却不知道怎么去应用,要自己编写一个网站程序还是有困难.这 ...
最新文章
- 通过RMAN克隆11g数据库(基于active database)
- python下什么-python官网下的包是干什么用的?
- UVA 11645 Bits(组合数学)
- 回归(regression)与分类(classification)的区别
- Collections接口下的Comparetor类和Comparable接口排序
- 数位dp 记忆化搜索java_hdu 5787 数位dp,记忆化搜索
- ngui 输入事件处理
- 视觉注意力的循环神经网络模型(Recurrent Models of Visual Attention)
- 尚硅谷谷粒商城之环境搭建
- Charles 破解版安装
- Astah Professional UML 建模工具2022版
- 企业微信公众号怎么运营管理?
- 2015全国硕士研究生计算机考研真题(附答案)
- Android聊天室(服务器)
- 邓奶奶坐轮椅泪别袁爷爷
- 广东计算机二级考试大纲,全国计算机等级考试二级考试大纲(Fortran)
- Mybatis缓存机制(一级缓存、二级缓存、三级缓存)
- R语言 关联TCGA数据库下载的RNA-SEQ数据和临床信息
- Interspeech 2021 | 腾讯AI Lab解读9篇入选论文
- 废旧计算机cpu diy,手把手教你从废旧CPU提取金银
热门文章
- PyTorch学习笔记(六)——Sequential类、参数管理与GPU
- MYSQL 行转列、列转行、多列转一行、一行转多列
- python双色球-(三)线性回归预测
- Typora文档快捷键失效解决方法
- 多重背包---二进制拆分---java小知识
- 一加手机和OPPO的关系,本文为你理清
- 瑞芯微rv1126+yolov3模型转换
- linux定位so快捷方式_使用addr2line命令定位到行号解析.so的文件
- iterm2隐藏标题栏
- rabbitmq启动报错 .erlang.cookie must be accessible by owner only