web开发_开发板web - CSDN
web开发 订阅
Web前端开发工程师,是从事Web前端开发工作的工程师。主要进行网站的开发、优化、完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。一位好的Web前端开发工程师在知识体系上既要有广度,又要有深度,所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。现在说的重点不在于讲解技术,而是更侧重于对技巧的讲解。技术非黑即白,只有对和错,而技巧则见仁见智。以前会Photoshop和Dreamweaver就可以制作网页,现在只掌握这些已经远远不够了。无论是开发难度上,还是开发方式上,现在的网页制作都更接近传统的网站后端开发,所以现在不再叫网页制作,而是叫Web前端开发。Web前端开发在产品开发环节中的作用变得越来越重要,而且需要专业的前端工程师才能做好,这方面的专业人才近两年来备受青睐。Web前端开发是一项很特殊的工作,涵盖的知识面非常广,既有具体的技术,又有抽象的理念。简单地说,它的主要职能就是把网站的界面更好地呈现给用户。 展开全文
Web前端开发工程师,是从事Web前端开发工作的工程师。主要进行网站的开发、优化、完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。一位好的Web前端开发工程师在知识体系上既要有广度,又要有深度,所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。现在说的重点不在于讲解技术,而是更侧重于对技巧的讲解。技术非黑即白,只有对和错,而技巧则见仁见智。以前会Photoshop和Dreamweaver就可以制作网页,现在只掌握这些已经远远不够了。无论是开发难度上,还是开发方式上,现在的网页制作都更接近传统的网站后端开发,所以现在不再叫网页制作,而是叫Web前端开发。Web前端开发在产品开发环节中的作用变得越来越重要,而且需要专业的前端工程师才能做好,这方面的专业人才近两年来备受青睐。Web前端开发是一项很特殊的工作,涵盖的知识面非常广,既有具体的技术,又有抽象的理念。简单地说,它的主要职能就是把网站的界面更好地呈现给用户。
信息
中文名
web前端开发工程师
外文名
front-end Web developer
类    属
职业
内    容
动态与静态
发    展
2005年以后
web前端开发工程师简介
2005年以后,互联网进入Web 2.0时代,各种类似桌面软件的Web应用大量涌现,网站的前端由此发生了翻天覆地的变化。网页不再只是承载单一的文字和图片,各种丰富媒体让网页的内容更加生动,网页上软件化的交互形式为用户提供了更好的使用体验,这些都是基于前端技术实现的。随着Web 2.0概念的普及和W3C组织的推广,网站重构的影响力正以惊人的速度增长。XHTML+CSS布局、DHTML和Ajax像一阵旋风,铺天盖地席卷而来,包括百度、腾讯、淘宝、新浪、搜狐、网易等在内的各种规模的IT企业都对自己的网站进行了重构。前端开发的入门门槛其实相对较低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢。所以,对于从事IT工作的人来说,前端开发是个不错的切入点。也正因为如此,前端开发领域有很多自学的同行,但是后面的学习曲线越来越陡峭,每前进一步都很难。另一方面,正如前面所说,前端开发是个非常新的职业,对一些规范和最佳实践的研究都处于探索阶段。总有新的灵感和技术不时闪现出来,例如HTML5、CSS3、JavaScript、负边距布局、栅格布局等;各种JavaScript框架层出不穷,为整个前端开发领域注入了巨大的活力;浏览器大战也越来越白热化,跨浏览器兼容方案依然是五花八门。为了满足“高可维护性”的需要,需要更深入、更系统地去掌握前端知识,这样才可能创建一个好的前端架构,保证代码的质量。
收起全文
  • JAVA WEB开发实战

    2018-10-22 21:38:15
    走进JSP、掌握JSP语法、JSP内置对象、Servlet技术、综合实验(一)——JSP使用Model2实现登录模块、EL表达式语言、JSTL核心标签库、综合实验(...三)——Ajax实现用户注册模块——可以轻松领会Java Web程序开发的精髓...
  • 从无到有然后到完善,配合前端使用的UI搭建一个WEB开发框架,提高开发速度和解决问题的力度,主要起到到抛砖引玉的作用。
  • web开发的三大基本语言包括:HTML、CSS和JavaScript(其中HTML是web开发的关键)。简单概括的话:HTML为web开发提供了内容;CSS控制如何展示内容;而JS更多的集中在控制逻辑和实现交互上。

    介绍
    web开发的三大基本语言包括:HTML、CSS和JavaScript(其中HTML是web开发的关键)。

    web开发的三大核心语言

    从上图可以看出HTML的作用,它处在web开发的核心位置。简单概括的话:HTML为web开发提供了内容;CSS控制如何展示内容;而JS更多的集中在控制逻辑和实现交互上。如果你还不是很清楚它们的作用,通过下面三张图片就能一目了然。

    完整效果

    移除CSS后的效果

    移除HTML后的效果(图片来自秒秒学)

    第二张图移除CSS后,使页面丑化了不少,而第三张图移除HTML后,内容都消失了,就甭提页面美化和丑化的问题了。当然你也可以移除JavaScript试试,只不过效果看不太明显,建议你可以去秒秒学的界面尝试一下。

    HTML在web开发上的优势
    我们知道HTML是一种标记语言,下面我们来总结一下HTML在web开发方面有什么优势:

    1. 编码正确的HTML文档能提高文档的可读性。(怎么也比txt文档读起来舒服吧。)
    2. 鲜明地表达文档的结构及结构中内容之间的关系。(和word类似,有标题,内容,图表等,甚至可以添加按钮。从而可以鲜明的展示。)
    3. 允许用户链接到其他的网页。(点击->跳转)
    4. HTML通过标记标签来描述网页如何与其它页面上的内容相关联。(标签就是告诉浏览器,内容是什么类型,比如<h1>标签,就是告诉浏览器“我是标题1“。标签还可以告诉浏览器“我是内容”,“我是表格”等内容。只有正确使用标签,浏览器才能正确的显示内容。)

    HTML标签实例
    HTML是一种标记语言,因此我们不得不提到它的标记,我们称HTML标记为标签。标签涉及到具体的HTML代码,而不是从网页界面直接看到的东西,下面我们看一个常用的p元素(段落标签)是如何构成的。
    图5-p元素(图片来自秒秒学)

    下面我们在HTML文件中写一个简单的p元素,来看看在浏览器中它会以什么样的方式呈现。
    图6-记事本编写p标签

    图7-网页中展示p标签的内容

    大牛推荐的学习网站
    除了段落标签,还有各式各样其他的标签,这些标签都可以在w3c上轻松找到。下图中推荐了几个网站给大家:
    学习网站推荐

    我还是贴心地帮你们抠出来吧:
    http://www.w3.org/TR/HTML5/
    https://HTML.spec.whatwg.org/multipage/
    https://developer.mozilla.org/zh-CN/
    https://www.webplatform.org/

    个人觉得学习HTML,基本就是在学习各种标签的使用,较容易学习,而且有一大堆的资料可以参考。所以如果你想学习web开发,花半天或一天认真学习一下HTML是很有必要的。

    展开全文
  • Web开发系列知识汇总

    2019-01-30 16:15:23
    目录 一. 定义 二. 网络结构模式 三. 客户端-浏览器Browser 四. Web服务器端 五. Cookie 六....七....一....1. Web:World Wide Web, 其内容以页面的形式表现。 超文本(Hypertext):一个页面指...

    目录

    一. 定义

    二. 网络结构模式

    三. 客户端-浏览器Browser

    四. Web服务器端

    五. Cookie

    六. HTTP协议

    1. HTTP简介

    2. HTTP方法

    3. 各种协议与HTTP协议的关系

    七. TCP/IP通信传输流


     


    一. 定义

    1. Web:World Wide Web, 其内容以页面的形式表现。

    • 超文本(Hypertext):一个页面指向另一个页面。用户单击一个链接就可以来到该链接所指向的页面。
    • 超媒体(Hypermedia):超文本和多媒体的结合。用户可以在页面激活一段声音,显示一个图形,甚至播放一段视频。
    • 超文本传输协议(HTTP) :Web浏览器向一个或多个Web服务器发送请求,服务器以页面的内容作为响应。这里的“请求-响应”协议,即HTTP协议基于文本协议,运行于TCP之上。

    2. 浏览器:显示页面的程序

    3. 统一资源定位符(URL,Uniform Resource Locator):用类标识每个页面。包含三部分:协议,域名,路径。如:

           http(协议)://www.cs.washington.edu(域名)/index.html(页面的路径)

    4. Web的体系结构

        

            (图片来源自Andrew S.Tanenbaum与David J.Wetherall的《计算机网络(第五版)》)

      图中Web浏览器向三个服务器(youtube.com, www.cs.washington.edu, google-analytics.com)发送请求,从而获得了两个页面。来自不同服务器的内容集成在一起通过浏览器显示。www.cs.washington.edu服务器提供了主页面,youtube.com服务器提供了一段嵌入的视频,google-analytics.com服务器没有提供任何用户可见的内容,但它追踪访问网站的用户。

     

    二. 网络结构模式

    1. C/S(Client/Server)

    • 客户端/服务器端架构,典型的两层结构
    • 客户端:一个或多个在用户电脑上运行的程序。
    • 服务器端

          1. 数据库服务器端:客户端通过数据库连接访问服务器端的数据

          2. Socket服务器端:服务器端的程序通过Socket与客户端的程序通信

    2. B/S(Browser/Server)-这里主要介绍该模式

    • 浏览器/服务器架构,三层结构
    • Browser客户端 :负责处理显示逻辑
    •  Web服务器 :负责处理事务逻辑
    •  数据库服务器

    (图片来源于:http://www.ltesting.net/html/84/n-141684.html

     

    三. 客户端-浏览器Browser

    1. 一个浏览器是一个应用程序,负责将用户选择的web资源呈现出来。

    2. 浏览器的组成

        

    主要组件:

    • 用户界面 - 包括地址栏、后退/前进按钮、书签目录等
    • 浏览器引擎 (Browser engine)- 用来查询及操作渲染引擎的接口
    • 渲染引擎 (Rendering engine)- 浏览器的内核,负责将网页代码转化成可见的页面
    • 网络 - 完成网络调用
    • UI后端 - 用来绘制类似组合选择框及对话框等基本组件,底层使用操作系统的用户接口
    • JS解析器 - 用来解释执行JS代码
    • 数据存储 -  浏览器在用户磁盘中保存类似于Cookie的各种数据。HTML5定义了一种轻量级的客户端存储技术Web Database技术 

    3. 当用户点击一个超链接时,浏览器执行的系列步骤

       

    (1)浏览器确定URL

    (2)浏览器请求DNS查询www.cs.washington.edu服务器的IP地址

    (3)DNS返回128.208.3.88

    (4)浏览器与128.208.3.88机器的80端口建立一个TCP连接(80端口是HTTP协议的默认端口)

    (5)浏览器发送HTTP报文,请求/index.html页面

    (6)www.cs.washington.edu服务器向浏览器响应页面,如发送文件/index.html

    (7)若该页面包括需要显示的URL,浏览器通过相同的处理过程获取其他URL。该例子中,URL包括多个取自www.cs.washington.edu的内嵌图像,一段取自youtube.com的内嵌视频和一个取自google-analytics.com的脚本。

    (8)浏览器渲染显示页面/index.html

    (9)若短期内没有向同一个服务器发送其他请求,释放TCP连接

     

    四. Web服务器端

    1.  Web服务器的工作流程

    • 接受来自浏览器的TCP连接请求
    • 获取页面的路径,即被请求文件的名字
    • 从磁盘中读取文件
    • 将文件内容响应给浏览器
    • 释放该TCP连接

    2.  为了解决文件访问瓶颈,减少读磁盘的操作,会在内存中维护一个缓存,保存着n个最近使用过的文件或者内容。服务器从磁盘读取文件前,首先检查缓存。

    3.  为了解决一次只能服务一个请求的问题,将服务器设计成多线程(multithreaded)模式。

       

                    (图片来源自Andrew S.Tanenbaum与David J.Wetherall的《计算机网络(第五版)》)

    多线程服务器由一个前端模块和一个处理模块组成。前端模块接收所有入境请求; k+1个线程全部属于同一个进程,所有处理模块(线程)都可以访问当前进程地址空间中的缓存。

     

    五. Cookie

    • 小甜饼Cookie,一小段文本信息,由浏览器存储在客户机磁盘Cookie目录下
    • Cookie只是字符串,最多4KB,不是可执行程序,因而不存在病毒得以实际运行从而造成损害

     

    六. HTTP协议

    1. HTTP简介

    • HTTP协议(Hyper Text Transfer Protocol超文本传输协议),用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器。
    • 应用层协议,请求-响应协议,运行在TCP之上。
    • HTTP默认端口号为80。浏览器通常与服务器的80端口建立TCP连接
    • 无连接:每次连接只处理一个请求。服务器处理完客户端的请求,并收到客户端的应答后,即断开连接。节省传输时间。
    • 无状态:对事务处理没有记忆能力,若后续处理需要前面的信息,则必须重传。

    2. HTTP方法

    方法 描述
    GET 请求服务器发送页面(完成查询操作)
    HEAD 请求一个Web页面的消息头
    POST

    向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。

    (完成增删改操作)

    PUT 向服务器写入一个Web页面
    DELETE 删除页面
    TRACE 回显服务器收到的请求,用于测试或诊断
    CONNECT 通过代理连接
    OPTIONS 一个页面的查询选项

    3. 各种协议与HTTP协议的关系

    (来源于《图解HTTP》)

     

    七. TCP/IP通信传输流

    (来源于《图解HTTP》)

     

    展开全文
  •  使用Flask框架的优势有以下几点: 可以大大降低开发难度,提高开发效率,让快速、高效的Web开发成为可能。 可以带来系统稳定性和可扩展性的提升。Flask自由、灵活、可扩展性强、第三方库的选择面广,用第三方库...
  • Web后端开发入门(1)

    2018-07-10 23:23:03
    Web概述: 在英语中web表示网页的意思,它用于表示Internet主机上供外界访问的资源。Internet上供外界访问的Web资源分为: 1....动态Web应用的实现手段: 静态web开发技术有html,常用动态web开发...

    Web概述

        在英语中web表示网页的意思,它用于表示Internet主机上供外界访问的资源。

    Internet上供外界访问的Web资源分为:

        1.静态Web资源(如html页面):指web页面中始终不变的数据。

        2.动态Web资源:指web页面中供人们浏览的数据是由程序产生的,也就是实时变化的数据。

    动态Web应用的实现手段:

        静态web开发技术有html,常用动态web开发技术有:JSP/Servlet、Microsoft  ASP、ASP.NET、PHP等。

        1.Microsoft  ASP、ASP.NET

            微软公司动态web开发是比较早的,而且最早在国内最流行的就是ASP。ASP就是唉HTML语言之中增加了VB脚本,但是标准的开发应用应该是使用ASP+COM,但是实际情况来看,在开发ASP的时候基本上都在一个页面中写上成百上千行的代码,这就使得页面代码极其混乱。

            ASP本身有开放平台的限制:Windows+IIS+SQL Server/Access,ASP只能运行在Windows操作系统上,ASP现在基本上已经淘汰,取而代之的是ASP.NET,它在性能上有了很大的改善,并且开发迅速,但是依然受限于平台。ASP.NET中主要是使用C#语言。

        2.PHP

            PHP开发速度很快,功能强大,跨平台,而且代码也简单。但是只适用于开发小型网站,

        3.Servlet/JSP

            这是SUN公司主推的B/S架构的实现语言,是基于JAVA语言发展起来的,因为JAVA语言足够简单,而且很干净。

            Servlet/JSP技术的性能是非常高的,不受平台限制,各个平台基本上都可以使用,而且在运行中是使用多线程的处理方式,所以性能非常高。

            SUN公司最早推出的WEB技术推出的是Servlet程序,Servlet程序本身使用的时候有一些问题,所有的程序是采用JAVA代码+HTML的方式编写的,也就是说,要使用JAVA输出语句,一行一行的输出所有的HTML代码,之后,SUN公司受到了ASP的启发,发展出了JSP。 JSP的某些代码的编写效果与ASP是非常相似的。这样可以很方便地使用一些ASP程序员转向JSP的学习,加大市场的竞争力度。

    JavaWeb应用程序

        在SUN的Java Servlet规范中,对JavaWeb应用作了这样的定义:“JavaWeb应用由一组Servlet、HTML页、类、以及其它可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的Servlet容器中运行”。

        JavaWeb应用中可以包含如下内容:

    • Servlet
    • JSP
    • 实用类
    • 静态文档如HTML、图片等
    • 描述Web应用的信息(web.xml)

        Servlet和Servlet容器


            我们首先通过web浏览器发送一个HTTP请求,这个HTTP请求会到web容器中,web容器把它定位到一个具体的servlet中,servlet中包含具体的servlet和jsp,然后servlet会访问数据库,之后数据库再把数据返回给servlet,servlet再返回给web服务器,web服务器再通过HTTP响应给到web浏览器,之后我们就能看到请求的数据。

    request  请求          response  响应

    WEB服务器

        简介:Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序。当Web浏览器(客户端)连接到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。


        服务器是一种被动程序:只有当Internet上运行在其他计算机中的浏览器发出请求时,服务器才会响应。


          Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP的生命周期,以及管理它们的共享数据。Servlet容器也称为JavaWeb应用容器,或者Servlet/JSP容器。

        常见的Web服务器:

        1.WebLogic

            WebLogic是美国bea公司出品的一个application server。BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。是目前应用最广泛的Web服务器,支持J2EE规范,而且不断的完善以适应新的开发要求

        2.WebSphere

            WebSphere Application Server是一种功能完善、开放的Web应用程序服务器,是IBM公司电子商务计划的核心部分,它是基于Java的应用环境,用于建立、部署和管理Internet和Intranet Web应用程序。这一整套产品进行了扩展,以适应Web应用程序服务器的需要,范围从简单到高级到企业级。

        3.Tomcat

            Tomcat是一个实现了JAVA EE标准的最小的WEB服务器,是Apachc软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。应为Tomcat技术先进、性能稳定,而且开源免费,因而深受JAVA爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。该服务器支持全部JSP以及Server规范。



    展开全文
  • 1:在那时,Web开发还比较简单,开发者经常会去操作web服务器(主要还是他自己的机器),并且他会写一些HTML页面放到服务器指定的文件夹(/www)下。这些HTML页面,就在浏览器请求页面时使用。(当时只能获取HTML,静态...

     

    Web发展简史--------->((webapp+Java原生)移动端开发(微信小程序,公众号,头条app))+web网站)

    Web发展简史

    1:在那时,Web开发还比较简单,开发者经常会去操作web服务器(主要还是他自己的机器),并且他会写一些HTML页面放到服务器指定的文件夹(/www)下。这些HTML页面,就在浏览器请求页面时使用。(当时只能获取HTML,静态页面)

    2:问题就出现了,你只能获取到静态内容。倘若你想让访问者看到有多少其他访问者访问了这个网站呢(还记得那些统计流量的旋转图片吗?!),或者倘若你想让访问者去填写这样一个表单,包含有姓名和邮件地址呢?于此就转向了CGI和Perl脚本,在web服务器端运行一段短小的代码,并能与文件系统或者数据库进行交互(可以交互啦!提交个表单,查看个信息)

    3:当时组织CGI/Perl这样的脚本代码太混乱了。CGI伸缩性不是太好(经常是为每个请求分配一个新的进程),也不太安全(直接使用文件系统或者环境变量),同时也没提供一种结构化的方式去构造动态应用程序。几年来一直很困惑,直到大约2005年左右,出现了Java Server Pages(JSP),微软的ASP,以及PHP!我喜欢把当时的参考架构比作成IIS和ASP.NET,你可以用Visual Studio快速构建一个可伸缩并且安全的应用程序。(因为cgi交互不怎么好,所以在服务器上开始写(jsp,asp,php动态语言代码了进行帮助查找数据,查找图片,动态语言效率更高))

     

    4:直到当时,web服务器多半会返回整个页面或者文档,但AJAX(2005)的出现,让事情变得很有意思。AJAX允许客户端的JavaScript脚本为局部页面提供请求服务,然后可以在无需回到服务器情况下动态刷新部分页面,也就是更新浏览器中的document对象,通常称作DOM,或者文档对象模型。(javascript的出现让用户更加快速的更改,修改页面内容,而不用再去访问WEB服务器去请求,返回HTML修改页面啦!javascript访问更快)

    虽然从服务器端返回的仍然是HTML,但浏览器上的代码能把这HTML片段内嵌到当前页面中。也就是说web应用的响应可以更快,这时我们真正用web应用取代了web页面。谷歌的GMail和谷歌地图都是当时AJAX的杀手级产品。随后用AJAX局部刷新就如雨后春笋般出现。

    5:在随后的几年时间里,AJAX成为了焦点,但在服务器端仍然使用着旧有的技术。大概在2007年,37signals公司公开其成员–Ruby on Rails。那个基于Ruby on Rails 5分钟构建博客的演示完全征服了全世界的开发者。一夜之间,所以谈论的焦点都是关于Rails!Rails的不同之处在于使用规定的方式去设计你的web应用程序,运用一种已经广泛在桌面应用开发,但未被搬到web应用上的开发模式。这种模式就叫做模式(数据)-视图(模板)-控制器(业务逻辑)。Rails强调,“这事就该这么做”,并且通过许多插件让构建web应用再一次更加健全。(这时候后台框架打开了新的大门,后端框架先被提出来的,现在的前端趋势也开始要有MVC的前端框架啦!WEB前端全栈开发,node.js直接访问数据库,mongo数据库,)

     

    6:在2007到2010年期间,涌现了3种开发潮流:

    第一个是智能手机和移动应用潮流。通常情况下,许多应用程序同时有web和移动应用两种版本。尽管如此,服务端仍然返回的是HTML页面,而不是其它移动应用可以识别。因此,你需要返回的是结构化数据来取代HTML。

    第二个开发潮流是jQuery。这是一个非常流行的JavaScript库,能够很容易构建动态、美妙的web应用,甚至是AJAX!

    第三个潮流是Node.js的发布。这是第一次能让你用JavaScript开发高性能的服务端程序,进而可能结束“客户端开发者”要知道HTML/JavaScript,“服务端开发者”要知道.NET/C#/Ruby这样的噩梦。(json是服务器向浏览器返回的一种数据结构,浏览器解析json提取里面的key-value键值对,服务器端(jsp,php)可以把数据库里面的数据封装到json中,发给浏览器)

    7:尽管这是一个不错的架构,但我们可以重用一些在客户端的收获去简化那些曾经发生在像客户端意大利面似的jQuery代码。和Rails精神类似,我们需要用一种规定的方式从服务端获取到数据,再对客户端的HTML页面进行包装。因此,在接下来的2年时间里,业界出现了许多用于简化客户端开发的框架,诸如Backbone,Ember,Derby和Meteor,当然也包括我的最爱,AngularJS,vlue.js。(这些东西访问数据库,把数据从服务器取出到浏览器,浏览器MVC再去解析数据)

    8:因此,这就是我们看到的今天,而我后面要讲到的参考架构是这样的,mongodb作为数据库服务器,node/express作为web应用服务器,客户端使用AngularJS,同时也使用Bootstrap样式风格。我发现这种架构允许我能够快速构建web服务以及基于AngularJS的客户端接口,甚至和其它的服务,如PhoneGap或者其它原生移动开发工具一样,进行移动应用的开发。(这种开发模式越来越可以快速开发啦!应用到webapp开发,这些前端一般用于业务型强,主要用于给用户展现内容和数据,业务型比较强的。移动端开发还有Java原生开发的,主要用于逻辑性强的。Java安卓原生开发(处理密码处理,过滤什么的)逻辑性比较强的应用。现在APP可以使用混合式开发(webapp(html+css+javascript(mui移动端js框架)+node.js+mongo)+原生Java开发),现在网站开发用的还是html+css+javascript(包括js框架)前端+后端(ssh+ssm+springboot框架))。这就是现在主流的开发模式。

    https://blog.csdn.net/zzzkk2009/article/details/9849431   经典的安卓移动端开发(web+Java原生开发)web系统发展历史

    https://blog.csdn.net/z742182637/article/details/52055970   也是web系统开发历史(不怎么清晰,不是太好)

    https://blog.csdn.net/youngyouth/article/details/84755278#web_5   web服务器架构的发展历史
     

     

     

     

    1. 静态页面时代

    大学时候,上机还得换卡穿拖鞋,Novell的网络是很神奇的,然而更神奇的是通讯原理老师半神秘的讲他上 Internet,“Cernet(教育网)有条64K的出口,半年前还很快,现在已经比较卡了”。就这样,我们用Netscape指向Yahoo。那是一个HTML加图片的世界,充斥着各种花哨闪耀的字体和鞠躬的小人,蓝色连接点击后会奇幻的变色。

    我们开始用不熟练的HTML和简陋的设计来设计网页,并且知道这边有个浏览器,那边有个叫WebServer的东西,但管理Sun工作站的机房老师总是盯的很紧,不会让你动系统半分。听说有个叫Linux的神奇东西,好吧我想尝试,可是我只有一台攒的电脑,以及若干张5寸3寸的软盘。我至今感谢一位师兄,他帮我下载并切分了一个版本的Mandrake,就这样室友看到非常奇怪的一幕,我奔波在机房宿舍之间,仔细计算容量来拷贝,就这样在假期里我第一次搭建了Apache。

     

    2. CGI时代

    很快页面上流行一个叫做计数器的东西,免费的收费的建站网站都把它当作卖点,“立体超炫变色时尚计数器”,很快我们看到几乎每个页面都有了一个点击量在88888的酷装置,只是无论怎么点都不会变化。而校园里张贴着令人眼红的广告,“征人写CGI程序,一支500元!“。

    慢慢的,知道了CGI是利用进程间输入输出通信,和WebServer进行通信,从而可以写程序来控制页面输出的内容。但在当时会给硬盘分区就在中关村被看成电脑高手的年代,实在是会者寥寥。即便到了今天,我依然对Perl敬而远之。一些前辈用C写出更高级的CGI应用,比如WebMail,挖到第一桶金,成为今天互联网的先驱。

     

    3. PHP露出锋芒

    说实话,我认为PHP是最受益于互联网浪潮的语言,在合适的时间和好伙伴Mysql一起出现。利用Apache的模块mod-php,将php作为web服务器的一部分运行,效率和维护性都达到很好的提升。脚本语言成为互联网前端开发主力一直到今天。PHP和大哥Perl,以及兄弟Python,Ruby一起盘据在编程语言排行榜5-10名位置。

    同样的Mysql也是时代的娇子,它快速灵活易用成为网站数据库的首选,但很长时间里,Mysql被其他数据库诟病,别说Oracle等高富帅,即便是同为开源的Postgres社区里,也会有这样的声音,“不支持事务也叫数据库?”。没关系,开源社区很快为其加入各种引擎,如今Mysql绝对是装机总量第一的数据库。

     

    4. J2EE

    Java时代来临,一杯咖啡,一个可跳动的小精灵牵动了所有的大型软件公司。没错是所有,包括微软,Sun公司一时星光无限,所有的开发人员都在谈Java。人们对其桌面表现失望进而质疑时,J2EE及时出现了,Servlet+JSP快速成为Web开发的好用技术。能够跨平台,独立解包使用的Web服务器,挂接任意数据库的JDBC接口,一时世界变得很美好。

    微软的ASP也出现了,一开始也是脚本解释,和PHP等技术类似。很快微软的C#和dotNET战略出台,ASP也升级为ASP.Net,从此dotNET和J2EE是竞争者,更是一对站在相同站壕的朋友,互相学习和抄袭对方的技术和设计,直到今天。

     

    5. Web层框架百花齐放

    Servlet是一个优异的Web技术规范,但面对丛多的开发需求,还是不能很好的覆盖。Struts框架很快成为主流,今天我们依然看到很多.do后缀的页面。Struts主要做了三件事,一是对请求Url进行很好的梳理,通过Command模式把请求指配到Action对象上,并可以用同期出现的Ioc框架进行注入。二是梳理出若干有用好用的Intecepter,并可以自由组合构成自己的Stack。三是对页面流转流程通过xml的方式可以灵活定义。

    同期,数以百计的各种框架出现了,多数都是针对Servlet的空白点,在几个方面进行代码或者配置的约定,可谓百花齐放,百家争鸣,我想Java社区能到今天依然繁荣,这种海纳百川,开放的态度是根本原因。如今很多框架已经走过生命期,但还有很多活跃的,其中Webwork即Struts2,和SpringMVC是模板技术类别最出色的。GWT,Wicket等在页面组件类表现不错,还有脱离Servlet束缚Play等框架。

     

    6. WithoutEJB

    J2EE里,除了Servlet外另一个重量级的规范就是EJB。EJB设计的来源是Corba技术,分布式对象技术在EJB规范中有完整的体现。Rod在著作中对EJB规范粗重庞大难用提出各种质疑,尤其是针对其强制分布的要求。我的观念是分布式支持没有错,现在EJB规范中对于Local和Remote的划分定义是正确的。开发人员应该一开始就需要了解接口粒度的划分,本地和远程接口是不同的。对于一般的小型应用,Servlet和EJB容器都在一个虚拟机中,本地接口是合理的,但对于大型企业应用和互联网级别应用,势必需要服务的远程划分和调用。所以早期的EJB,可以说一方面设计不完备,另一方面又过度设计。但EJB自从3以后完全脱胎换骨,成为设计良好的规范。

    Spring作为开发框架,把Ioc和AOP能力发挥的淋漓尽致,在各个层次很好融合其他技术和项目库,一直是Java Web开发的主流。不过面对CDI等JavaEE规范,在注入,生命期管理,对象解耦等优势不在。我预计今后Spring, JavaEE和Osgi会在主流Java开发框架方向竞争,也会相互借鉴和融合。

     

    7. Ajax

    Javascript是浏览器正统的脚本语言,但在那个机器性能不佳的年代,一段Js代码造成鼠标没有响应的情况比比皆是。Js的给人影响就是页面上飘来飘去“点击我”对话框,页面上走马灯效果的变色通告,或者是几十层模态对话框的恶意页面,很多网吧的机器默认Js是禁用的。在很长的一段时间里,Java web开发一个潜规则就是少手写Js文件,这样可以很好的支持多种浏览器和提高效率。

    谷歌火了,Ajax也成为火爆的前端技术,我们在使用gmail,google map等产品时,有了另一种体验,点击链接或按钮后,即便网络不算流畅,页面不再全白重新刷新,而是内容渐渐的出现。其原理就是利用Js脚本到后台服务器获取数据,在浏览器前端对数据进行解析和渲染,在这个过程中,大多数页面并不需要进行改变,只是更新页面中一部分即可。谷歌公司大力支持Firefox使其重生,并和苹果一起发展webkit项目,各自发展了chrome和safari浏览器,伴随者页面渲染能力大力提升同时,Js脚本的解析能力也突飞猛进。我个人认为Ajax这个技术看似简单,但却是新一代Web,所谓Web2.0的基石性质技术,为互联网泡沫后互联网的复兴和今日腾飞起到了重要作用。

     

    8. Ruby and Rails

    快速成长的互联网需要快速的web开发能力,Rails框架出现了,同时火爆的还有Ruby语言,它的出现满足了当时开发者的需要,快速开发,玩cool的东西,有完备的后端模型支持。让我们仔细分析一下Rails中MVC就能发现,Model中对实体对象的关系定义,和JavaEE的JPA很多概念一致,但利用Ruby语言的元能力,可以直接对实体对象进行功能扩展,而其时Java社区还在为贫血,充血对象争论不休。Control,View等层次也能和Java的一些框架概念一致,不过有些设计构思更巧妙,而且Rails的基因就是满足互联网开发需要,和JavaEE企业级应用有所不同。

    很快的,各种语言纷纷出现模仿Rails的项目,Java的Grails, SpringROO,JBossForge,Python的Django,PHP的Symfony等等。毫无例外的,能有影响力的都是开源的,有良好社区能力建设的项目。

     

    9. JSF和CDI

    让我们回到企业应用开发,大家有没有想过所谓企业应用和互联网应用之间最大的差别是什么?我认为是用户数量级别的差异,导致前端设计方式,软件体系,后台数据库,缓存技术应用,有不同的设计理念和方式。用更技术化来说,就是会话和事务。企业应用是有强会话和事务需求的,而这两个技术词语也会一并关联存在。很简单,在一个事务中会经过多次会话过程,直到这个事务全部做完。和我们日常办事是一样的,填单子,和办事人员沟通,修改单据,盖章,各种口舌,最终感慨,办事真难。

    从软件层面考虑,一个企业应用软件可能用户数并不太多,就企业中百十号人,但前后台的交互是长时间,多次会话交互的。JSF技术其实是借鉴了微软ASP.net,它们继承了传统IDE快速开发的思路,希望通过拖拽连接可以快速开发一个应用。页面上的组件,对应后台服务器的业务组件,在得到服务器请求之后,组件需要做一系列动作来完成解析,校验,模型重建,业务方法调用,页面渲染等步骤,这些必然有个较长的过程。复杂性,效率,和其他技术的融合,JSF技术从诞生起就被质疑不断,而且面对每个明星技术,都有些格格不入,比如Ajax出现了,而JSF要求的Post方式还需要重刷页面。但JSF一直在改进,越来越科学完善。如今,配合CDI,JSF是企业应用开发的首选技术之一,大家可以研究一下Oracle的应用产品和ADF开发框架。

    CDI是Seam框架的技术精华形成的JavaEE规范,在JavaEE7里面已经成为最重要的规范之一。和Hibernate最终形成JPA一样,CDI也是GavinKing构思,开发推动的。仔细分析就会发现,CDI几乎弥补了JavaEE在现代开发需求中,对象方面定义的绝大多数不足,比如和DI规范定义了注入,生命期管理和会话范围定义,完善了EJB对于普通POJO对于事务,异步通知机制的定义,还有注解的堆叠定义,装饰模式等等。有时候我就在想,假如JavaEE是GK从头打造,我们开发人员会少走很多弯路,因为他对企业应用的理解和用Java构建框架和定义规范,都是贴近一线开发人员需求。唯一遗憾的就是CDI还没有推动完成,他转移兴趣玩起语言了。关于JSF和CDI,我建议做相关产品的朋友,即便不用这样的组合,最好也对其技术基本内容有所了解,我想对思路扩展是非常有好处的。

     

    10. Netty,NodeJs,Vertx和异步化趋势

    Netty的领导者和Mina的主力开发者TrustLee,是一个说话慢条斯里的韩国人。面试时问我一个关于volatile问题,双方都觉得非母语很别扭,所以就都简单表达一下就算。可我没想到这个同龄的开发人员,日后对Java在互联网公司的地位提升,起到这么大的作用,这个项目就是Netty。我们都知道Java异步集合库的作者DougLea的功劳,Nio1代,对于Socket的异步化还不是很完善,即便是Nio2,工作重心还是文件系统的异步化处理,网络层的异步化设计逐步加强改进。因为Java的设计理念,正交化,接口堆叠,底层功能平台统一化等给异步分布式网络框架留出足够的空间去发挥,Netty,Mina,Grizzly等项目纷纷出现。Twitter宣布从Ruby转向Scala,并使用Netty让其大红大紫。

    所谓异步网络框架,就是对网络层调用,进行异步化,并进行接口封装,使得容易理解和使用。异步能力还是通过Java虚拟机现有功能实现的,通过对数据流的处理和状态感知来进行处理,而不是传统的阻塞式的收发消息。这个符合我们生活中的感受,当你订票时,你会打电话告诉你需要什么,说订好票给我电话,然后你就去做别的事情,直到订票员通知你订好了来支付取票再进行下一步操作,如果订票是同步的,那你就要一直等待订票完成,遇到春运可能会搭上整天的时间。

    为什么异步网络框架也受到重视,答案也是互联网,数以亿计的请求点击涌来时,传统的webserver顶不住了,采用一个线程服务一个请求模型的webserver,无法承受这么大的数据访问,特别对于Java这样的吃内存语言,一个请求占用了一个线程,同时也占用了相对应的若干资源。用企业应用的设计的整个架构面对互联网级别的应用时,有点崩溃的感觉。解决高并发大量请求的途径是高吞吐量加上可扩展的软件架构。异步化可以提升吞吐量,就和银行的排队机一样,顾客来了得到排队服务,当有可用的柜台服务时会主动通知顾客,我们可以设想,即使有再多的顾客,也可以通过增加业务柜台,少许增加排队机和少量人工协调处理来解决。

    NodeJs是一个异步化的基于Javascript的开发框架,是当前的明星技术,符合了一些当前开发需求,如异步化,前端Js技术广泛应用,Js引擎能力极大提升,NoSQL的火爆,组件构建模式变化等。利用Js语言函数式编程能力,Js开发人员可以很轻松的利用已有的组件开发后端应用,前端可以直接用浏览器处理Js,别忘了Js是浏览器唯一能统一识别的脚本语言,或者用JQuery,AngularJS等流行框架,世界很清净,都是Js。

    但我们需要了解在常驻内存服务型程序方面,Java等语言占有极大优势,Java社区很快出现了和NodeJs有相同设计思路的项目,Vertx就是其中的优秀代表。它充分借鉴了NodeJs和Erlang/OTP Actor模型的优秀设计,利用分布式消息机制进行对象间通信,利用Netty进行网络异步操作,方法调用倡导异步调用,有自己的模块化机制。这样,Java社区出现了和NodeJs竞争的技术框架,良好使用,可以解决大规模互联网应用的需求。

    Java领域的异步化趋势可以说刚刚开始,我们看到Servlet和EJB都加入异步支持,Spring的Reactor,JBoss的undertow,随着Java8对函数语言能力的增强,可以预见又会有丛多的项目产生。我关注着异步化趋势和JavaEE开发方式的融合之路,相信那是Web开发的明天。

     

     

     

     

     

     

     

     

    展开全文
  • 开发-测试-开发-测试5.文档编纂各个阶段过程都是有文档的,需求有需求的文档,设计有设计的文档,测试也有测试的文档. 首先来看需求确定:需求确定通过各种手段确定系统的功能与性能 功能:用户维护、物料维护…. ...

    1.需求确定
    2.分析与设计
            (1)架构分析与设计
            (2)业务逻辑分析
            (3)业务逻辑设计
            (4)界面设计
    3.开发环境搭建
    4.开发-测试-开发-测试
    5.文档编纂

    各个阶段过程都是有文档的,需求有需求的文档,设计有设计的文档,测试也有测试的文档.

     

    首先来看需求确定:

    需求确定
    通过各种手段确定系统的功能与性能
       功能:用户维护、物料维护….
       性能:可同时支持 n 个并发访问,并且响应时间不高于 m 毫秒…
       手段:
         头脑风暴 (brain storm)
         会议
         询问
    原型 – 界面原型、业务原型…
    本阶段是项目开发的最重要阶段
    在web项目中,通常界面设计会在本阶段进行

     

    分析与设计

    一:架构分析与设计
       逻辑架构
         3层架构、n层架构…
         MVC…
         Model 1 or Model 2
         …
       物理架构
         Web服务器的分布
         数据库服务器的分布
         …
       技术解决方案的确定
         Java / .NET
         Open Source / 商业
         …
    二.业务逻辑分析:(使用UML画出活动图啊,流程图等)

    业务逻辑分析
    根据需求分析业务逻辑
       有哪些人会使用本系统
       他们会使用本系统做什么
       通常他们使用本系统的步骤是什么样的
       会有哪些明显的类来支撑本系统的运行
       会有哪些不同的提示会返馈给用户
       …
    本阶段与需求的确定密切相关,通常在确定需求的时候就会进行相关的分析

    在此阶段可以用UML图画出高层用例-每个功能的用例-编写用例文档

     

    三.业务逻辑设计

    业务逻辑设计
       根据需求的分析来确定具体的类
       确定类的属性
       确定类的接口(方法)
       确定类之间的关系
       确定用户操作流程在设计上的反映
    进行数据库的设计
       不同的项目步骤可能不尽相同
       …

    四.界面设计

    界面设计
    设计系统的界面风格
       颜色、style
    设计系统的具体“模拟”界面
       能够从头走到尾
          方便进行需求的确定
          方便JSP程序员的开发
          …

     

    开发环境搭建:

    开发环境搭建
       开发工具的确定
       配置管理工具的确定
       测试工具的确定
       文件服务器/配置服务器等的确定
       …

    开发-测试-开发-测试

    开发-测试-开发-测试
    按照设计进行开发
       迅速开发原型
       进行迭代开发
       提早进行测试
          单元测试(白盒测试)就是知道代码,知道如何实现的人进行的测试
          黑盒测试(功能性测试、验收测试)
          性能测试
          易用性测试
          …

     

    DRP的开发一个小流程如下:

    分析阶段:

    一:画用例图分为高层用例图和功能用例

    二:对每一个功能用例进行用例文档的编写:(模板如下)

    这里对修改密码这个功能用例进行分析

    【目的】
    用户可以修改自己的密码
    【输入】
    旧密码
    新秘密
    确认密码
    【输出】
    正常情况:输出修改密码成功信息
    异常情况:输出相关错误信息
    【约束】
    前置条件:用户成功登录到系统
    后置条件:无
    特殊约束:
    为了更好的保护用户口令,以“*”方式显示  
    用户输入的密码至少6位
    修改成功后,待该用户下一次登录时,修改生效
    【处理流程】 
    三:处理流程用UML图的活动图来画.

    四:界面的设计和画界面

    五:逻辑架构设计等

    六:数据库设计 :

    如何设计表?
    a) 发现领域中的概念,理清领域中概念之间的关系,将其映射成表
    b) 尽量遵循数据库设计范式
    i. 第一范式:有主键,具有原子性,列不可分隔
    ii. 第二范式:完全依赖,没有部分依赖
    iii. 第三范式:没有传递依赖
    c) 主键设计最好采用单一主键,最好不要采用复合主键,尽量使用没有业务语义的字
    段作为主键(如:Oracle的Sequence来维护一个主键),主键一般建议使用数值性,
    会提高检索效率
    d) 关于冗余字段的问题,应该根据需求的具体情况是否加入
    e) 最好加入外键约束(在开发阶段最好不要设置外键约束,运行阶段加入外键约束)
    f) 如果做通用性产品,最好不是使用数据库特性的功能,除非特殊情况
    g) 如果数据量非常大,并且频繁的根据相关字段查询,最好建立索引

    注意点:资金流,物流,信息流,如一级分销商到二级分销商那就是一个物流,资金怎么流向的.从这两个得到我们的信息流.所有的信息管理系统几乎都是这样的.

    七:到了开发阶段了,那么先初始化数据库里面最基础的数据


    展开全文
  • Putdb WebBuilder ... WebBuilder是一款开源的跨平台、数据库和...作为一款高效的Web开发工具,WebBuilder的特色是: 基于浏览器的集成开发环境 丰富的组件库 开发应用简单快速 高效率和高稳定性 跨平台、数...
  • WEB简介

    2018-09-01 18:23:51
    WEB 一、Web简介 1、 简介 早期的web应用主要是静态页面的浏览,这些静态页面使用HTML语言编写,放在服务器上,用户使用浏览器通过HTTP协议请求服务器上的web页面,服务器上的web服务器软件接受到用户发送的...
  • 一、标准通用标记语言(SGML) 1.HTML 即超文本标记语言(HyperText Markup Language),超文本指页面内可以包含图片、音乐、链接甚至程序等非文字元素,如果只用HTML则只能做静态网页。 ...无需经过服务器编译便
  • 接着简单Web开发流程全解——上 没说完的地方接着写,现在来讲一讲关于后端实现和开发流程的东西。 后端实现 一、环境配置与链接 Eclipse JSP/Servlet 环境搭建 这个是用eclipse搭建jsp和servlet环境的,...
  • 点击上方“Dotnet9”添加关注哦Blazor一、前言今天在下班的路上(地铁上),站长习惯性的掏出手机,就收到知乎向站长推送的一篇BlazorUI组件库推荐文章,是码云官方的:原文链接...
  • java web开发(一) 环境搭建讲解了如何搭建一个Java Web项目,如果你还没了解,建议先浏览下!今天这篇文章主要讲解的就是接口开发,打算使用比较古老的或者说比较原始方法实现的接口。 一.数据库设计。 假设要做...
  • 从传统的安卓、IOS原生手机系统应用开发,转向了移动端Web开发或者是混合开发,既然有需求,那就让我们一起来学习移动端Web开发吧。本文旨在让读者以最快的时间了解移动Web开发基础以及介绍一些常见问题。基础准备...
  • python web开发入门

    2019-01-23 22:23:48
    ps:最近(18.2.26)对内容做了一些修改。 Python web开发通常都是从学习某一种框架开始,比如Django,flask。...Python web开发web开发的子集,在学习如何用Python开发web应用之前,我们需要了解web服...
  • 转载自: 浅谈Java Web开发与Python Web开发的区别 – 金丝燕网  今天这篇文章谈一谈Java Web开发和Python Web开发的区别。在这里我并不是鼓励大家从Java Web转向Python Web开发,我只是想说一下自己的感觉而已,...
  • 先搞清楚两个概念,移动端web开发,web app开发1、 移动web开发(pc端的页面用手机浏览器打开)这部分跟web前端开发差别不大,使用的技术都是html+css+js。区别为手机浏览器是webkit的天下,pc端是IE的天 下。手机...
  • 《Java Web开发实战1200例(第2卷)》以开发人员在项目开发中经常遇到的问题和必须掌握的技术为核心,介绍了应用Java Web进行程序开发的各个方面的知识和技巧,主要内容包括流行组件应用、数据库应用、图表统计、Ajax...
  • Web开发,Web框架一定要熟悉,框架是Web架构开发中必不可少的工具,不仅可以提高开发效率,还能让开发项目更成熟,并且可以提升代码的可再用性,Web框架开发离不开相应的开发语言,以下是常用的Web架构开发语言: ...
1 2 3 4 5 ... 20
收藏数 1,541,951
精华内容 616,780
热门标签
关键字:

web开发