简单介绍⼀下web开发中⽤到的⼀些技术
⼀、标准通⽤标记语⾔(SGML)
1.HTML
即超⽂本标记语⾔(HyperText Markup Language),超⽂本指页⾯内可以包含图⽚、⾳乐、链接甚⾄程序等⾮⽂字元素,如果只⽤HTML则只能做静态⽹页。
静态⽹页:指不含数据库、不含程序和不可交互的⽹页,适⽤于更新较少的展⽰型⽹页,运⾏于客户端,通常以.html或.htm或.xml
或.shtml为后缀。⽆需经过服务器编译便可直接加载到客户浏览器上显⽰出来,占⽤⼀定的服务器空间。可在静态⽹页中加⼊flash、java ⼩程序、ActiveX控件以及客户端脚本,这些都由程序员事先编写好放到服务器上。
动态⽹页:动态⽹页在服务器端运⾏,在不同时间会根据不同⽤户返回不同的⽹页,与服务器发⽣交互⾏为。以数据库为基础,可实现⽤户的注册、登录、⽤户管理等操作。动态⽹页并不是独⽴存在于服务器上的⽹页⽂件,只有在客户端发出请求后才返回⼀个完整的⽹页。后缀可以为.jsp或.php或.asp或.cgi。
ActiveX控件:在静态页⾯中加⼊可以运⾏在浏览器上的程序,是静态的,现在的浏览器基本以不⽀持。
applet:“let”词缀表⽰“⼩”,applet表⽰⽤Java编写的⼩应⽤程序(JavaApplet),即静态的,该程序可以包含在HTML页⾯中,与在页⾯中包含图像的⽅式⼤致相同,即<applet></appltet>⼀对标记。当⽀持Java的浏览器遇到这对标记时,便下载相应的⼩程序代码在本地运⾏,已经淘汰,取⽽代之JavaFX。
servlet:即server applet,applet扩充了⽹络浏览器的能⼒,⽽servlet扩充了⽹络服务器的能⼒。servlet的功能在于交互地浏览和修改数据,⽣成动态web内容,其过程为:客户端发送请求到服务器,服务器将请求信息发送到servlet,servlet⽣成相应内容被发送到服务器,服务器将响应发送⾄客户端。applet与servlet均没有main函数。(⽐喻:JSP是服务员,servlet是看完菜单告知哪个厨师来做饭的前台。)JSP显⽰页⾯和接收⽤户的信息,⽽servlet主要负责页⾯和业务层的信息交互。
web端登录CGI程序:是运⾏在⽹络服务器上的⼀个程序,作⽤与servlet相似。但已被servlet替代,因为CGI程序每当客户端发出⼀个新的请求,便要建⽴⼀个新的CGI实例,占⽤了⼤量的内存资源,⽤于实际开发很困难。⽽servlet被⽤户发送的第⼀个请求激活后,继续运⾏于后台等待以后的请求,每个请求将⽣成⼀个新的线程⽽不是⼀个完整的进程,多个客户可以在同⼀个进程中同时得到服务。
css:即层叠样式表(cascading style sheets)是⽤于⽹页排版的标记性语⾔,能对⽹页中的排版进⾏像素级控制,主要⽤于对⽹页中的字体、颜⾊、图像、背景等其他元素进⾏控制,是对HTML的补充。“HTML+CSS”可以实现静态⽹页。
div+css:div是HTML中的⼀个标签元素,为布局元素。div可以理解成⼀个矩形框,css控制这个矩形框在什么地⽅。CSS3是CSS的⼀个标准,HTML5是HTML的⼀个标准。
单页⾯:整个页⾯就是⼀个静态的不刷新的HTML页⾯,例如QQ空间中从⽇志到相册,整个页⾯并没有刷新,⽽是中间的主体内容进⾏局部替换。
图灵机:图灵机可以理解成对⼈们使⽤纸笔进⾏运算的抽象,分为两个步骤,在纸上写或擦出某个符号,下⼀步动作取决于当前所关注的符号和此时的思维逻辑。
图灵完备:即Turing Completeness,判断图灵完备的⽅法就是看该语⾔能否模拟出图灵机。
2.XML
即可扩展标记语⾔(Extensible Markup Language),和html相⽐,xml允许⽤户对⾃⼰的标记语⾔进⾏定义。
3.XHTML
即可扩展超⽂本标记语⾔,⽐HTML语法更严格
⼆、前端
1.脚本语⾔(scripting language)
脚本语⾔⼜被称为扩建的语⾔或者动态语⾔,通常以⽂本保存,只有在被调⽤时才进⾏解释或编译。
2.JavaScript(js)
是⼀种脚本语⾔, 动态类型、弱类型、基于原型的语⾔,内置⽀持类型。⽤于 嵌⼊HTML⽹页增加动态功能,向HTML页⾯提供交互功能, 亦可写成单独的js⽂件便于结构和⾏为的分离。最早由Netscape公司实现,因与Sun公司合作,便取名JavaScript。微软推出了JSript,都可以统称兼容ECMASript。后缀名为.js的⽂件就是JavaScript⽂件。可⽤于多平台多操作系统。被⼤多数浏览器⽀持。
动态类型:运⾏期才做类型检查
静态类型:编译期进⾏数据类型检查
弱类型:语⾔运⾏时会隐式的做数据类型转换
强类型:语⾔运⾏时确保不会做未授意的类型转换
基于原型的语⾔:如JavaScript,只有对象没有类,是对象继承对象,⽽不是类继承类。
基于类型的语⾔:如Java
特性(动态性):是⼀种采⽤事件驱动的脚本语⾔,不需要服务器的⽀持,便可直接响应⽤户的输⼊。在访问⼀个页⾯时,⽤⿏标上移下移点击都可以通过JavaScript对其进⾏响应。因此早期程序员喜欢通过JavaScript减轻服务器的负担,然⽽不安全,随着服务器的强壮,现在程序员喜欢使⽤在服务端的脚本来保证安全。有些特殊功能如ajax⽐如依赖JavaScript在客户端进⾏⽀持。现在JavaScript逐渐被⽤来编写服务器端程序。
3.VBSript(VBS)
basic语⾔起初是⾮结构化语⾔,后来经过完善成为结构化语⾔(Visual Basic,即VB),同时VB也是开发环境。
Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)为微软公司的C++开发⼯具。
VBS是微软环境下的轻量级的解释性脚本语⾔。
4.Ajax
即异步JavaScript和XML(Asynchronous Javascript And XML),是⼀种能够不刷新整个⽹页的前提下还能更新部分⽹页的技术。通过后台与服务器进⾏少量数据交换,AJAX可以使⽹页实现异步更新。
5.JSON
即JS对象标记(JavaScript Object Notation),是⼀种轻量级数据交换格式,能够代替XML的⼯作,即可以处理前端(JavaScript)和后台(web服务器端)之间的数据交互。特点是易于⼈们的读写习惯,易于机器的分析和运⾏,形式为⼀个以键值对形式表⽰的字符串。JSON跨语⾔,在移动端(Android、IOS)数据都可以由JSON来传输。
6.boostrap
前端UI框架,详情wwwblogs/mbailing/p/5627792.html
7.angular.js和JQuery
前端框架库,详情wwwblogs/mbailing/p/5627792.html
8.前端编辑器
Webstorm:重量级编辑器,当前段项⽬配置了各种的grunt,bower,angular后你会发现你很需要它。
Brackets:适合写CSS。
Dreamweaver:“所见即所得”
HBuilder:适合写H5,相对厚重。
Sublime:相当于⼀个升级版的记事本,有着强⼤的插件,建议安装两个(packagecontrol和emmet),轻量级编辑器,⼩巧智能。notepad++:插件多
三、后台
1.JSP(J2EE)
即Java服务器页⾯(JAVA Server Pages),是⼀种动态⽹站开发语⾔,有点类似于ASP技术,在传统的HTML页⾯⽂件(后缀名为
*.htm或*.html)中插⼊Java程序段(Scriptlet)和JSP标记(tag),从⽽形成JSP⽂件,后缀名*.jsp。
JSP开发的web应⽤是跨平台的,可以运⾏在Linux或者其他操作系统下。它实现了HTML中的Java扩展(以<%,%>形式),jsp与servlet⼀样运⾏在服务器端,将⼀个HTML⽂件返回给客户端,因此客户端有浏览器就可以浏览。servlet是JSP的基础,⼤型的web应⽤开发众需要servlet和JSP同时配合。JSP与servlet的关系:JSP是servlet的扩展,在JSP之前就有servlet了。有客户端, web服务器(web server)和应⽤服务器(application server),客户端发出请求,web服务器接受http请求,如果是HTML、css等静态资源则web服务器可以⾃⾏处理 ,如果遇到动态资源⽐如jsp时便将请求转⾄应⽤服务器中,由应⽤服务器处理。应⽤服务器也具有处理http请求的能⼒,可能没有web服务器那么专业, 应⽤服务器同时也包含web容器。在应⽤服务器中,jsp转换成servlet,在 servlet容器中检索是否已经存在匹配的servlet实例,若没有则由servlet容器加载并实例化这个servlet类的⼀个实例对象,再有servlet容器初始化并运⾏;若servlet容器中已存在,则直接运⾏。
web服务器:代表Nginx、IIS、Apache。 “相当于前台接待”。
应⽤服务器:代表Bea WebLogic、IBM WebSphere、JBoss、Tomcat。Tomcat是Apache的扩展可以独⽴于Apache运⾏。“相当于真正的价值服务者”。
servlet容器:管理servlet的⽣命周期,存在于应⽤服务器中。
Tomcat既可以看成是servlet容器⼜可以看成是web容器,既可以处理静态资源⼜可以处理动态的servle
t。 故可以使⽤两个独⽴的服务器⽐如Nginx和WebLogic,也可以只⽤⼀个Tomcat。
2.PHP和ruby
php:超⽂本预处理器(hypertext preprocessor),是⼀种 基于对象的开源脚本语⾔,⽤于web后台开发。
ruby: ⾯向对象的后台脚本语⾔。
基于对象:不提供抽象、重载和继承
⾯向对象:提供抽象、重载和继承
3.NetBeans
⼀款⽤Java编写的主要⽤于后台开发的IDE。
4.Node.js
是⼀种JavaScript的运⾏环境(runtime),是⽬前速度最快的JavaScript引擎,使JavaScript能脱离浏览器运⾏。对Chrome V8引擎进⾏了封装。使⽤事件驱动,⾮阻塞I/O模型⽽得以轻量⽽⾼效。
⽤处:是JavaScript运⾏环境,也就是说能在服务器上跑JavaScript代码,让JavaScript实现服务器上的开发。⼀般是js程序员在⽤,属于后端技术。
JavaScript引擎:是⼀种专门处理JavaScript脚本的虚拟机,⼀般会符带在浏览器中。
四、ASP、ASP.NET与.NET
ASP:类似于JSP和PHP,是⼀种后台开发技术。
.NET:是⼀个 平台,不是语⾔,包括运⾏时的环境和开发的环境。可以在.NET平台上⽤不同的语⾔开发,例如
C#,VB.NET,HTML,F#,VC++.NET。
有点类似于java。JAVA语⾔也是java平台中的⼀个语⾔的名字,C#同样是.NET平台中⼀个语⾔的名字, 即java跨平台,.NET跨语⾔。java开源,.NET由微软开发不开源。java编写完⼀次后可以再Linux上或其它操作系统上运⾏,.NET只适⽤于微软,所以 java跨平台,.NET不跨平台。
ASP.NET(⼜称ASP+):是基于.NET Framework的web开发 平台。⼀般前端⽤HTML+css,后端⽤C#。
.NET Framework:是.NET开发的软件运⾏所必需的框架(framework)、运⾏环境。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。