NoahWeb?引擎介绍

 更新时间:2016年9月20日 19:05  点击:2305

NoahWeb™引擎为计算机编程专用语言解析引擎,属于新一代解析型编程语言执行引擎,用于快速开发B/S结构下的应用或网站。同NoahWeb™紧密相关的有NoahWeb Engine、NoahWeb Designer以及其他设计器辅助工具。

NoahWeb™使用有别于传统编程语言的编程结构和语法,语法分逻辑层和表现层两类。使用NoahWeb™对B/S的项目进行开发,逻辑层和表现层已经被NoahWeb™全新的编程结构分离。表现层(前端)使用HTML或是说XML内的注释标签方式描述基本的控制指令,逻辑层使用XML格式NoahWeb™语法进行逻辑开发,从而大大加快了开发速度。

NoahWeb™内包含对各种常见数据库的支持。NoahWeb™使用内部的数据库无差异支持引擎来对数据库进行方便快捷的访问,从而让使用NoahWeb™开发的项目能够轻松的移植到不同数据库运行。

NoahWeb™提供了功能强大的Form表单的管理和设计支持。

NoahWeb™集成了国内各种常见协议的支持。

NoahWeb™对表现层代码、字符资源、数据库查询、页面表单、变量、动作、函数等资源提供统一管理,各种资源具有极高的可重用性。

NoahWeb Designer用来协助开发人员使用NoahWeb™对项目进行快速开发。在NoahWeb Designer中可管理使用NoahWeb™开发的动作(Action)、名称空间(NameSpace)、模组(Moudle)、表单(Form)、字符资源(String)、数据库操作(SQL)等资源。

NoahWeb Designer可根据项目的配置信息管理数据库连接,提供针对已连接数据库表结构的数据库操作的快速生成和编辑,还可进行对字符资源的编写和提供在其他编写工具中编写NoahWeb™的各类编写支持,最后NoahWeb Designer会将所有生成内容使用NoahWeb™语言和语法进行保存以保证NoahWeb Engine的正常解析和执行。




动作是NoahWeb中极为重要的一个概念,浏览器与服务器一个完整的上下交互行程都可以理解成一个动作。

动作编程与以往的过程编程和对象编程是截然不同的一种编程思路。过程编程已经被某种意义上被淘汰在此就不做讨论,而动作编程与对象编程相比较,他们之间最大的区别在于“高度”的不同。

类、对象带给我们的面向对象编程可以让我们方便的在众多领域中进行复杂、高效的编程实现应用。每个有过对象编程学习经历的人在最初学习时也许都被问过“这个世界是由什么组成的?”通过这个方法以便让大家能直观的了解对象和类,而对象和类更可以让我们用最初认知的世界方式来理解和描述计算机中的各种功能和值。可是,对于网站、MIS或业务系统这些轻量级B/S架构的应用,对象编程也许并不是一种最好选择。

对于客户——程序结构设计重要还是流程设计重要?

类、对象提供了我们一种去描述计算机程序内各种能力和值的方式,可类、对象也是一种很“低级”的描述方式。

我们可以通过类和对象的方式来假设设计一个批发商买卖矿泉水的程序:

首先,您需要使用对象的方式描述水的各种属性和它具有的能力,而水是被装在瓶子里,所以对于装水的瓶子您也需要用类或对象的方式去描述一下瓶子的属性和能力,瓶子需要被装在箱子里,所以您也需要去用类或对象的方式去描述一下箱子……到此暂停!

回头看一下使用类和对象的时候我们在做什么?我们在进行对象之间的关系设计。而我们最初目的是什么?是设计一个批发商买卖矿泉水的流程。

看一下使用动作编程是怎么设计整个流程的:

订单确认—>出库—>装货—>送货—>收款

订单确认、出库、装货、送货、收款每个都是一个动作,而这些动作组合在一起构成了一个买卖矿泉水的动作流程。或许您还认为上述整个买卖矿泉水流程不合理应该是另一个更合理的流程。这样考虑就对了,因为您现在更多的时间已经花在为您的用户设计流程,而不是考虑设计整个类和对象之间的关系。

对于系统的用户我们为他考虑的不应该是程序结构方面的设计,而应该更多的是流程方面的设计。在使用动作方式后,您关注的不再是类和对象之间的关系,而是整个流程的设计。

一级还是多级?

我们还是继续来看批发商买卖矿泉水的流程设计,对象编程时,水和瓶子之间是存在关系,瓶子和箱子之又存在关系,再往上设计,或许还有批发商对象,买卖矿泉水的这个行为是由箱子这个对象来具备的,如下图所示:

<

    大家可能有这样的体验,在相同的条件下,有些网页不仅美观,大方,打开的速度也非常快,而有些网页却让人长久等待。这就说明网页制作不仅仅是以文笔流畅,图片精美,布局整洁而取胜,很大程度上依赖于网络技术。因此一个很简单的主页不仅是制作者审美观、阅历的体现,更是制作者知识面、技术等综合素质的展示。

    我们来一起熟悉一下跟主页制作相关的网络术语,只有了解了网络相关的知识,我们才能制作出自己具有艺术性和技术性的主页。

  万维网:

    万维网的英文缩写是WWW,是一个基于超级文本的信息查询工具。

  超级文本: 

    超级文本与普通文本不同,它是一种使用用户于计算机之间进行交流的文本显示技术,通过对关键词或图片的索引链接,可以使这些带有链接的词语或图片指向相关的文件或者文本中的相关段落。类似于普通书本中的目录,我们要看某一个章节,就要用手翻页到相关的页面,在这里,我们用鼠标点击相关的链接(相当于书本中的目录)就能打开相关的页面或内容。

    通常当鼠标指针指向带有超级链接的时候,鼠标指针从原来的箭头形状变为“手”的形状,文本的下方也会出现下划线或者做出颜色的改变,这是软件默认的超级文本的链接形式,依据设计制作者的不同选择,会出现不同的显示。

  浏览器:

    浏览器是安装在电脑中(客户端)用来查看万维网中超级文本的一种工具(软件)每一个万维网的用户都要在电脑上安装浏览器来“阅读”网页中的信息,这是使用万维网的最基本的条件,就好像我们要用电视机来收看电视节目一样。目前大家所用的Windows操作系统中已经内置了浏览器。

    目前主流的浏览器主要分为两种:

  1、微软公司开发的 Microsoft Internet Exploere浏览器,简称IE,目前最高版本是6.0。

  2、网景公司开发的 Netscape Navigator浏览器。

    这两个浏览器开发公司不同,但使用界面大致相同,他们占有了网络浏览器市场的绝大部分份额,还有一些其他公司的浏览器,因为其占有市场份额相对太小,这里不作介绍了。需要提醒大家注意的是,尽管微软和网景浏览器界面大致相同,但是对于浏览使用了特效的同一个网页,显示的效果也可能不同,即便是同一个公司的不同版本的浏览器也有这样的状况。因此我们在网页制作过程中应该考虑到浏览对象的不同而选择不同的制作方式。例如如果我们的主页主要面对的对象是国内用户,而国内用户大多使用Windows自带的浏览器,我们就可以选择目标浏览器是IE,同时要兼顾一下还在使用IE5.0版本的用户;如果我们面对的对象是海外用户,而海外很多人习惯使用网景浏览器,我们就可以选择Netscape的浏览器。

  FTP(文件传输协议): 

    FTP是文件传输协议的英文缩写,是快速、高效、可靠的信息传输方式。这个协议能把文件从一台计算机传输到另外一台计算机中,而不必管这两台计算机位置在何处,也不用管这两台计算机使用什么操作系统和使用何种网络,只要它们都遵循FTP协议,并且能够通过网络互联。

    由于FTP是一个交互式的会话系统,因此两台计算机可以作为一个客户端一个服务器端来看待,它们之间要建立双重连接,一个用于控制,一个用于数据传输。这是制作网页所要使用的重要技术之一。

  URL(统一资源定位器): 

  URL主要用于指明通信协议和地址,以获取网络的各种信息服务。它包括:

  通信协议:http、FTP、Telnrt、Mailto等。
  主机名:指服务器在网络中的IP地址或域名。
  所要访问的文件的路径和文件名:主机名与文件夹(目录)及文件之间用“/”符号分隔。
  我们在上面所说的浏览器的地址栏中输入的就是URL。

  IP地址: 

  IP地址是分配给网络上计算机的一组由32位二进制数值组成编号,来对网络中计算机进行标识,为了方便记忆地址,采用了十进制标记法,每个数值小于等于225,数值中间用“.”隔开,一个IP地址相对一台计算机并且是唯一的,这里提醒大家注意的是所谓的唯一是指在某一时间内唯一,如果我们使用动态IP,那么每一次分配给我们的IP地址是不同的,这就是动态IP,在我们使用网络的这一时段内,这个IP是唯一的指向我们正在使用的计算机的;另一种是静态IP,它是固定讲这个IP地址分配给某计算机使用的。网络中的服务器就是使用的静态IP。

  域名:

 
EB标准
WEB标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。这些标准大部分由W3C起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(European Computer Manufacturers Association)的ECMAScript标准。我们来简单了解一下这些标准:

1.结构标准语言
(1)XML

XML是The Extensible Markup Language(可扩展标识语言)的简写。目前推荐遵循的是W3C于2000年10月6日发布的XML1.0,参考(www.w3.org/TR/2000/REC-XML-20001006)。和HTML一样,XML同样来源于SGML,但XML是一种能定义其他语言的语。XML最初设计的目的是弥补HTML的不足,以强大的扩展性满足网络信息发布的需要,后来逐渐用于网络数据的转换和描述。关于XML的好处和技术规范细节这里就不多说了,网上有很多资料,也有很多书籍可以参考。

(2)XHTML

XHTML是The Extensible HyperText Markup Language可扩展标识语言的缩写。目前推荐遵循的是W3C于2000年1月26日推荐XML1.0(参考http://www.w3.org/TR/xhtml1)。XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的站点,直接采用XML还为时过早。因此,我们在HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。简单的说,建立XHTML的目的就是实现HTML向XML的过渡。

2. 表现标准语言
CSS是Cascading Style Sheets层叠样式表的缩写。目前推荐遵循的是W3C于1998年5月12日推荐CSS2(参考http://www.w3.org/TR/CSS2/)。W3C创建CSS标准的目的是以CSS取代HTML表格式布局、帧和其他表现的语言。纯CSS布局与结构式XHTML相结合能帮助设计师分离外观与结构,使站点的访问及维护更加容易。

3.行为标准
(1)DOM

DOM是Document Object Model文档对象模型的缩写。根据W3C DOM规范(http://www.w3.org/DOM/),DOM是一种与浏览器,平台,语言的接口,使得你可以访问页面其他的标准组件。简单理解,DOM解决了Netscaped的Javascript和Microsoft的Jscript之间的冲突,给予web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对像。

(2) ECMAScript

ECMAScript是ECMA(European Computer Manufacturers Association)制定的标准脚本语言(JAVAScript)。目前推荐遵循的是ECMAScript 262(http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM)。

 

 
  有些站点,访问时会在地址栏地址前显出小图标,添加到收藏夹后也在收藏栏中显示图标,这样很好的与其它站点有了区别。其实要实现这一目的非常简单。

  第一步,准备一个图标制作软件
  首先您必须了解所谓的图标(Icon)是一种特殊的图形文件格式,它是以 .ico 作为扩展名。普通的图像设计软件无法使用这种格式,所以您需要到一个软件下载站点去下载一个图标制作软件。您也可以访问 http://www.favicon.com/ ,这里提供一个免费的在线“收藏夹”图标生成器,如果您 E 文够好的话,在这里您还可以了解到更多的关于“收藏夹”图标的知识。

  第二步,确定“收藏夹”图标的规格
  “收藏夹”图标有着它特有的规格:图标的大小为 16 * 16(以像素为单位);所使用的颜色不得超过 16 色。 (为了清晰)

  第三步,设计一个属于您自己的图标
  您可以将您的网站的 LOGO 做成一个缩图或者另外设计一个别具特色的图案来作为“收藏夹”图标。总之,它一定要是属于您自己的,并且能很好的代表您的网站的风格和个性。然后将这个图标文件命名为:f avicon.ico。

  最后,将这个图标文件(favicon.ico)上传到您的网站所在的服务器的根目录下。您不需要对您的网页文件作任何的修改,IE5 会自动的不停的搜索您的网站的根目录,只要它一发现了 favicon.ico 这个文件,就会将该图标显示在访问者的地址栏和收藏夹列表中了。

  如果您希望为不同的页面设置不同的“收藏夹”图标,那么您就需要在该网页文件的 HEAD 部分加入下面的内容:


[!--infotagslink--]

相关文章

  • Springboot如何实现Web系统License授权认证

    这篇文章主要介绍了Springboot如何实现Web系统License授权认证,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-28
  • C#使用Http Post方式传递Json数据字符串调用Web Service

    这篇文章主要为大家详细介绍了C#使用Http Post方式传递Json数据字符串调用Web Service,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • InterlliJ IDEA2020新建java web项目找不到Static Web的解决

    这篇文章主要介绍了InterlliJ IDEA2020新建java web项目找不到Static Web的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-09-02
  • 详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)

    这篇文章主要介绍了在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • jQuery mobile 移动web(6)

    这篇文章主要介绍了jQuery mobile 移动web(6)的相关资料,需要的朋友可以参考下...2015-12-21
  • JavaScript模版引擎的基本实现方法浅析

    这篇文章主要介绍了JavaScript模版引擎的基本实现方法,讲解利用function对象来一步步编写简单的模板,需要的朋友可以参考下...2016-02-18
  • 模板引擎smarty工作原理以及使用示例

    模板引擎是用于把模板文件和数据内容合并在一起的程序,便于网站开发有利于代码分离和维护,了解一个模板最好知道其工作原理,以便于实现一通万通。模板文件一般是HTML xml js等类型文件,如果不用模板引擎若要把数据显示在...2014-05-31
  • Microsoft Expression Web 简体中文正式版 官方下载地址

    Microsoft Expression Web 简体中文正式版相对于早期的 Microsoft Expression Web Designer CTP1(英文)除了它是正式的中文版外,有进步的地方1.对标签的id名称加上了css的代...2020-06-25
  • Tomcat首次部署web项目流程图解

    这篇文章主要介绍了Tomcat首次部署web项目流程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-12-11
  • web项目开发之JS函数防抖与节流示例代码

    这篇文章主要介绍了web项目开发之JS函数防抖与节流实现的示例代码及原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助...2021-09-24
  • 创建一个完整的ASP.NET Web API项目

    ASP.NET Web API具有与ASP.NET MVC类似的编程方式,ASP.NET Web API不仅仅具有一个完全独立的消息处理管道,而且这个管道比为ASP.NET MVC设计的管道更为复杂,功能也更为强大。下面创建一个简单的Web API项目,需要的朋友可以参考下...2021-09-22
  • gateway与spring-boot-starter-web冲突问题的解决

    这篇文章主要介绍了gateway与spring-boot-starter-web冲突问题的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-17
  • Web制作验证码功能实例代码

    web开发中,经常会使用验证码功能,例如登录、注册,或其他关键功能之前经常会使用。下面通过实例代码给大家介绍Web制作验证码功能实例代码,感兴趣的朋友一起看看吧...2017-06-24
  • c# JSON返回格式的WEB SERVICE

    首先用c#创建一个web service,主要是利用其WSDL的功能,当然也可以利用php创建一个,道理都是一样的...2020-06-25
  • jQuery UI结合Ajax创建可定制的Web界面

    这篇文章主要为大家详细介绍了jQuery UI结合Ajax创建可定制的Web界面,如何利用Ajax和jQuery UI创建具有各种定制功能的高度可定制的UI,感兴趣的小伙伴们可以参考一下...2016-06-24
  • web面试MVC与MVVM区别及Vue为什么不完全遵守MVVM解答

    这篇文章主要介绍了web面试中常问问题,MVC与MVVM区别以及Vue为什么不完全遵守MVVM的难点解答,有需要的朋友可以借鉴参考下,希望能够有所帮助...2021-09-24
  • JavaWeb实战之编写单元测试类测试数据库操作

    这篇文章主要介绍了JavaWeb实战之编写单元测试类测试数据库操作,文中有非常详细的代码示例,对正在学习javaweb的小伙伴们有很大的帮助,需要的朋友可以参考下...2021-04-22
  • Mysql存储引擎MyISAM的常见问题(表损坏、无法访问、磁盘空间不足)

    这篇文章主要介绍了Mysql存储引擎MyISAM的常见问题,针对表损坏、无法访问、磁盘空间不足等问题进行解决,感兴趣的小伙伴们可以参考一下...2016-05-20
  • Nginx + php 搭建 超性能 WEB 服务器

    Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAPPOP3SMTP 代理服务器。...2016-01-27
  • 如何避免被搜索引擎视为作弊

      一个网站要想成功注册,它起码应具备两个条件,一是网站本身要有较好的内容和设计,二是网站没有作弊行为。这里所谓的“作弊”,是指采用一些特殊的、有悖常规的网...2016-09-20