小区管理系统开发中的主要技术
3.1 HTML的技术应用研究
HTMLHypertext Markup Language)——超文本标记语言——不是一种标准的编程语言;它是一种标记语言,它会教导浏览器如何去渲染将要访问的网页,目前主要使用的是它的第5个版本——HTML5,公开于2014年。它可以变得复杂,也可以变得简单,这取决于开发者的选择。HTML的“基本成员”是元素能够包装或标记内容的不同部分,使其按照预先设计好的形式呈现在文档树中HTML由位于第一行的“<!DOCTYPE html>”声明,如果没有声明或者声明写错了,浏览器就没有办法正常渲染页面,一个最简单的HTML文件的结构如图3-1所示。
图3-1 HTML的结构
物理学家Tim Berners-Lee在欧洲核研究组织工作时,为科学家们设计出一种可以在因特网上享文件的方法,但是其介质只能是通过邮件、FTP等来传输的纯文本文件早期版本的HTML也试图加入SGML大家族,但HTML4的语法没有严格地遵守SGML的标准——因为HTML的定义就是“松散的”。SGML是一种语法及其复杂的标记语言,已经不再适应于现代互联网的高速发展。因此,作为主管的W3C在制定新一代HTML标准时,决定脱离SGML的语法限制把语言风格明朗化、简洁化,让其浅显易懂,延续了部分HTML4的风格。
开始标签把一个约定好的值——元素名——括在尖括号内,它表示这个元素在此生效;结束标签与开始标记基本上是相同但多了一个正斜杠,代表这个元素在此“收场”。内容在独特的元素中有不同的含义图3-2中代表着一段文本。上述的各个“部分”拼接起来便构成了一个简单的元素。不同类型的元素都有各自独有的特点,也有共通的地方,这也是W3C所期望的“responsive”。
元素也能够获得额外的属性,属性包含元素的一些附带的、或是自有的有用的信息,不过
这些重要的信息并不会直接展示给访问的浏览者,通常被开发者用来设计网页内各区块的样式以增强视觉效果。
图3-2 一个简单元素的结构
因为HTML的处理对象是浏览器,所以它可以在不同的系统上给用户带来大致一样的内容呈现——如果使用同款浏览器的话,同时会为不同的界面(分辨率)做出不同程度的自适应以提供更好的用户体验Pachinko,2018)。
3.2 JavaScript的技术应用研究
JavaScript是世界上最流行的脚本语言,因为在互联网上能够浏览全部网页以及衍生的HTML5应用的交互逻辑都是由JavaScript实现的。
1995年,美国的网景(Netscape)公司凭借Navigator浏览器成为了人类迈入Web时代有名第一代互联网公司。后来,网景公司想让一些动态反馈可以在静态网页体现出来,使网页看起来“富有生命力”让网页能够与使用者“互动”。Brendan Eich因此受命设计一种新的编程语言去实现这个目标,也就是JavaScript。经过十几年的发展,所有现代的HTML页面都使用JavaScript来增强用户与Web站点和Web应用程序之间的交互(Canon,2017)
与HTML不同,JavaScript是轻量级的解释型编程语言。通过编写不同的代码,可以创建动态更新的内容,控制页面渲染的内容,以及更多。
AngularJS是一个基于JavaScript的开源前端Web应用程序框架,于2009年被开发出来后来被Google公司收购。现在主要由GoogleAngularJSangular和angularjs团队开发者社区来维护,以解决开发单页面应用程序时所遇到的许多问题。AngularJS调整、改写了部分标准的HTML标签和属性,在降低代码复杂度的同时,增强了脚本代码的可读性。得益于双向的数据绑定,
网页中的一部分数据会被AngularJS拿来与JavaScript对象中对应的值对比、更新。为了创建更易于测试的开发项目,AngularJS会诱导渲染引擎去处理依赖注入和交换控制。它还使用承诺(Promise)和延迟对象(defer)优化处理原本复杂的异步回调过程(Aqra,2018)。
2014年,原本的AngularJS团队开始开发新一代Angular应用平台——Angular 2.0,并通知各位开发者将会于2018年7月发布AngularJS的长期支持版本1.7
尽管AngularJS的版本停止在了1.x,但是这并不代表着它是一个落后、难以使用、性能差劲、被抛弃的框架,世界上仍有10%左右开发者依然选择AngularJS作为他们的前端框架,社区中的讨论也在继续。
Node.js问世于2009年,是一个基于Chrome V8引擎的JavaScript运行环境 Node.js使用的是由事件驱动、非阻塞式I/O的事务处理模型。JavaScript其实一个完整编程语言——虽然在有些地方的规范不够“严谨”。由于部分前端开发者通常写得没有那么规整们留下了“JavaScript就是个玩具语言’”的坏印象如果模块化的JavaScript代码运行在Node.js上的话开发者就完全没有解决浏览器兼容性问题的后顾之忧并且能够使用最新
的ES6语法标准,完全满足工程上的需求,足以设计出高性能的Web服务(佚名,2018)。
Express.js世界上最流行基于Node.js开源web框架,它高度包容、快速而极简的,无需繁琐的设置即可建立出表现优秀的网站各大论坛中关于它的讨论帖的数量是一个巨大的数字,开发者们没有任何理由不选择它作为一个轻量级应用的“后盾”(佚名,2018)
3.3 MongoDB的技术应用研究
MongoDBMongo Database使用C++语言编写的一个基于分布式文件存储的开源数据库系统。MongoDB不是传统的关系型数据库管理系统。在操作相当大量的数据时,NoSQL类数据库能够比传统的关系型数据库展现出更优秀的表现。目前比较流行的PythonJava等多种语言都在MongoDB的支持列表中, MongoDB还为市场上主流的操作系统推出了各自的版本
NoSQL“Not Only SQL(不仅仅是SQL)”的简写形式。在2009年一次关于分布式开源数
据库的会议上,来自Rackspace的Eric Evans把“NoSQL”再次引入人们的视线此刻NoSQL”代表的是非关系型、分布式、没有提供ACID的数据库设计模式。,“no:sql(east)”在亚特兰大召开它挥出了这项革命性运动的最浓墨重彩的一笔——让世界再次意识到NoSQL类数据库的优势对彼时风靡全球的关系型数据库来说,这一概念在全球范围内的盛行无疑让人们瞠目结舌时至今日,对“NoSQL”一词准确的解释是非关联型的,强调Key-Value Stores和文档数据库的优点,而不是单纯的反对传统的关系数据库管理系统(佚名,2018)。
随着互联网上RIA网站的涌现,传统的关系数据库在配合新型网站,尤其是超大规模高并发式的网站已经有些招架不住,暴露出来不少的问题“新”的非关系数据库则借此机会取得相当快速进步,扎实地壮大自己的“根基”,开始蚕食原先由传统的关系数据库管理系统占据主要份额的全球市场
目前比较成熟的NoSQL类数据库Hbase,Redis,MongoDB以及Neo4J等。尽管它们都属于NoSQL,但是每个库仍是不同的类型,例如Hbase是列存储类型,而MongoDB是文档存储类型,Neo4J则是图存储类型。
MongoDB不限制每个对应的的数目。比如一个新闻网站,有些新闻没有读者评论,那么它的值就是一个空集有的新闻引发了读者的热烈讨论那么它的值就是拥有很多键值对的集合除此之外,MongoDB没有规定同一个集合里面的不同文档必须要有相同的键。还以上面那个例子来说,有的文章可能没有开放评论,不过这些不同的文档都可以方便地存储在MongoDB,而且查询起来也相当轻松,因为操作者不需要进行跨文档查询。
MongoDB会把数据集中存放在一处,填充着数据的许许多多的键值对构成了它的数据结构,这与JSON文件的格式很像。前文曾经提到过JavaScript对于网页的重要性,因此,MongoDB的数据和应用所使用的数据可以说是“无缝衔接”,这免除了很多转换格式带来的恼人问题。

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