网站和网页设计

上传人:m**** 文档编号:569541816 上传时间:2024-07-30 格式:PPT 页数:36 大小:194.50KB
返回 下载 相关 举报
网站和网页设计_第1页
第1页 / 共36页
网站和网页设计_第2页
第2页 / 共36页
网站和网页设计_第3页
第3页 / 共36页
网站和网页设计_第4页
第4页 / 共36页
网站和网页设计_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《网站和网页设计》由会员分享,可在线阅读,更多相关《网站和网页设计(36页珍藏版)》请在金锄头文库上搜索。

1、网站和网页设计Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望Web设计概念纵览 Web设计起源于使用专用的Web开发技术简单地在Web页上复制印刷材料。网站设计人员需要了解大量的网页设计工具和技术来创建吸引人的网页。在本课中,我们将探究如何使用排版和导航创建引人人胜的网站,使用最优秀的图形和设计元素创建可以快速下载的页面,理解在Web设计周期中商业运作的重要性,客户和服务器上的编程如何影响Web用户的体验,Internet管理机构在网站设计上制定的标准的影响,Web创作软件在网站设

2、计中扮演的角色,以及如何发布维护网站,等等。尽管许多人认为,网站的设计和它的内容相比是次要的,但本章将说明设计在用户体验中的重要作用。公共设计原则例如颜色、字体的选择,以及在页面上元素的布局所有的元素共同作用才产生一个用户界面友好的网站。为了全面地欣赏和理解设计扮演的角色,我们将围绕Web技术、Web和传统媒体的不同、设计概念以及创建网站的工具和技术进行深人研究。 Web技术 现在我们喜爱的Web技术是人类所经历的发展速度最快的通信手段。它赋予消息发送者和接受者更大的权利换句话说,就是内容的发布者和内容的读者。现在许多人转向Web而不是使用报纸或者其他的传统途径来寻找信息。Web上的信息可供全

3、世界用户使用,可以快速、准确、详尽地传播。在大多数商业广播、电视和印刷广告上都包括Web地址,为用户提供可以立即访问帮助学习和决策的更为个性化和具体的信息检索方法。 网站设计人员的责任是为接收者传递适当的可视消息,因此,设计的概念和内容一样重要。长期的Web用户非常清楚网站设计的变化。早期站点的内容是冗长的纯文本,这一倾向发展为在复杂性和先进性方面可以和电视、印刷这样的广告媒体进行竞争的开发设计方法。 为了能够竞争,现代办公环境中的每个人将致力于开发信息体系。网站正在变成包括来自公司各方面信息的复杂的结构:人力资源、销售和市场、存货和发行,等等。因为和传统的通信形式不同,这些内容有助于理解什么

4、是在Web上显示信息的有效形式。 丰富的工具和技术使新手相有经验的网站设计人员都可以更轻松地设计网站。设计人员必须选择可以给企业带来竞争力的工具。在后面“应用程序和工具”中,我们将看到一些经常使用的网站设计工具,例如Microsoft的FrontPage、Macromedia的Dreamweaver、Flash和HomeSite,以及Paint Shop Pro。 同学们会发现,每一个工具都有自己的特性和优势,根据这些,可以选择最适合的工具来达到需要的效果。 Web属性 大多数网站设计人员从自己的角度出发从事开发。他们对用大众广告的隐喻向大众展示信息有兴趣。但是,Internet给出了另一种方

5、法:一对一关系的能力。网站用户对于根据他们具体需要裁减的信息和产品响应得更好。应该理解,在本质上,Internet是允许用户决定访问的信息和何时访间的媒体。该事实使Internet成为一个一对一的媒体 (one-to-one medium),这和广播媒体 (broadcast medium)相反。因此,大众媒体的概念和应用对于Internet无效。大众传媒的目标是引起最终能达到他们期望目标的电视观众或者读者的兴趣。本质上,阅读杂志或者看电视的行为不能进行交易(transactional)。读者或者观众所需的惟一动作就是读或看。信息是被广播给被动人群的,因此,为大众媒体创作信息需要的战略和为In

6、ternet创作信息需要的战略不同。本 质 上 , Internet是 可 进 行 交 易 的 (transactional)。Internet的整个体验,从访问Internet到浏览Web,根据用户请求和服务器响应是可以断定的,换句话说,是可进行交易的。而且,从本质上,Internet是非线性的。通常,用户做出交易决定,先到网站,然后呆在网站,进行电子商务,再决定以后是否返回该网站。然而,用户可以在选择的任何时候切换到另一网站进行另一个交易。当前的Web开发方向 Web开发在过去的3年里变得更加完善,主要是在多媒体的进步上。现在,通过Web可以访问新的数据类型。数据驱动的内容己经成为许多We

7、b应用和项目的一个主要部件。数据驱动内容的好处是它可以反应最新的信息、数宇以及统计,因为数据是在用户请求时从数据库中取得的。继电子商务之后,Internet开发己经成为了Web发展中第二大成长的领域。Internet带来基于Web的内部网络,为一个特殊组织的雇员或者成员提供可使用的网络。因为雇员可以容易地访问经常使用的数据和文档,结果产生了一个更有效更富于成果的工作环境。在Internet上可以用比传统媒体更具实效的方式访问对时间敏感的信息。对于外部的销售商和交易伙伴,正在快速形成Extranet来实现公司外部的数据需求和流水交易过程。Extranet为被选择的外部用户提供产品、服务和关键交易

8、信息的交换。例如,公司A给公司B提供纸张。如果公司A通过Extranet访问公司B的存货状态,它就能知道何时需要给公司B送货。然后,公司A就能在没有公司B请求的情况下开始送货。 设计概念 Web设汁概念总在发展。Web不是一个像印刷媒体那样的静态媒体,记住这一点是很重要的。因此,规则和概念是在不断变化的。网站设计最常见的一个误解是一个好的网站必须以多媒体技术让用户眼花缭乱,而网站的内容是第二位的。这个观点是错误的。作为一个网站设计人员,希望用户有一个满意的体验,但是让他们眼花缭乱并不是目的。网站设计的主要目的是给用户他们所要的,而不是设计者认为他们需要的。通过良好的设计、高质量的内容以及正确使

9、用可用媒体的复杂的平衡可以达到这一目标。大量的研究认为,滥用多媒体会阻碍用户,因为他们或许不具备支持的能力,或许不希望等待过长的下载时间 (网页的理想下载时间应小于10秒)。最后,如果不能满足Web用户的需要或者期望,他们将在别的网站得到。仅从自己的角度而不是从用户的角度来考虑,网站设计人员一定会发现不满的Web访问者、客户和消费者。 Web媒体和传统媒体 网站设计人员越来越多地意识到Web设计和其他媒体 (尤其是印刷媒体)设计的不同。在早年的网站设计中,许多网站是印刷册子和其他市场工具的简单的HTML复制品。这种方式是公司急于将他们的信息张贴在Web上所致。此外,Web是一个新领域,还没有技

10、术或者统计数据来证明它的有效性。 有些公司早早地认识到,在Web上粘贴小册予并不是对媒体有效的使用。他们简单地在Web上重新制作了印刷品,并认为电子格式会和印刷格式一样成功。印刷媒体本质上是线性的linear):一行接一行,一页接一页。Web是非线性 (nonlinear)媒体,允许用户链接(超级链接)到网站的不同地方或者网站之外。例如,用户可以决定去哪里,而不需要按照书刊的严格组织结构。因此,Web具有以传统线性方式使用时不能开发的不同特性。最大的特色是通过网站用户和企业之间的交互性。传统的印刷媒体不能使用户体验个性化。相反,Web媒体可以为用户优化交互的可能性以及个性,创建企业和用户之间的

11、直接连接。这通过新技术得以实现,例如动态HTML(DHTML)、层叠样式表 (CSS)、扩展标记语言(XML)、JavaScript和Java Applets。 工具和技术 几年前,还在争论是否使用专用工具帮助Web开发过 程 , 但 是 现 在 , 许 多 HTML编 辑 工 具 和WYSIWYG(What You See Is What You Get)编辑器是第三代和第四代了,已经成为了完善的应用程序。争论不再是设计人员是否使用这些工具,而是该使用哪一个工具。 从今天开发的角度看,手工编码和WYSIWYG功能结合是最好的选择。只用手工编码HTML来开发一个动态网站需要太多时间。经常更新信

12、息,以及在公司网站和Intranet或Extranet网站上进行设计的需求,要求必须结合两种网站设计方法。当今市场上有两个WYSIWYG设计工具:Macromedia Dreamweaver和Microsoft FrontPage。 我们将讨论创建网站使用的工具,以及能优化HTML效率的特性。我们将讨论这些程序中的设计选择以及网站管理的重要特征。这些强大的网站管理特征让这些程序站到了工业界竞争的前沿。通常,在网站开发时会联合使用许多工具。本书侧重网站设汁协作应用方法。关于更高级的主题,例如图像和动画,我们将扼要介绍,帮助开发Web。关于图形和动画的应用程序。Macromedia Flash是这

13、些产品之一。Flash允许传递丰富的多媒体内容并节省带宽,这对于网站设计人员是一个很有价值的产品。 新技术学习了网站设计可以使用的工具之后,必须对它们进行评估,以决定它们是否能包含允许构建动态网站为用户创建更具个性 体 验 的 新 技 术 。 例 如 , Microsoft FrontPage和Macromedia Dremweaver都实施了动态HTML(DHTML)功能,允许你利用该技术。在本课中,我们也将讨论其他新近开发的技术,例如层叠样式表 (CSS)和扩展标记语言 (XML),还将讨论网站中使用的JavaScript和Java applets。此外,我们还会讨论World Wide

14、Web Consortium在最新标准上的进展,以及测览器制造商在开发新技术方面的发展。在本课中,你可以知道几个在网站开发中使用的工具。本课的目的不是让同学们成为使用任何一个工具的专家,而是给同学们关于每一个工具主要部件的足够信息,使同学们可以做出明智的决定使用哪一个工具来满足自己的需要。Web用户和站点设计 猜猜看,网页上有多少文本用户会去真正阅读?全部?大多数?真相是几乎都不读。大量的统计表明,80的Web用户只扫描网页内容,寻找关键宇和短语。而且,普通用户读计算机显示器的内容比纸张上的慢25。这个事实是如何影响页面布局的呢?作为设计人员,必须创建允许用户快速扫描找到所需信息的页面。记住,

15、当前网站设计的一个错误观念是,Web只是打印媒体的另一种形式。当设计人员用和小册子或者简讯相同的内容创建网页时,用户很有可能转向别的站点。 用户到达站点时的第一印象很重要。网站可能是企业通向世界惟一的窗口。如果它不吸引客户,企业将会失去这些客户而给竞争者。因此,如果知道用户只是扫描页面,为什么还试图强迫他们阅读不感兴趣的内容呢?让用户满意,给他们所需要的,他们就会回来。用户不希望页面上充斥了无关内容和混乱图像。内容是很重要的,但是 布局和传递也很重要。 Web是以自我为中心的:用户只对需要的东西有兴趣。零售业人士认为,消费者是自私的,因为客户知道,他们的账单让企业生存。通常用户访问网站是因为他

16、们需要特定的信息,或者是为了研究,或者是为了购物。任务越简单,生意成功的可能性就越大。如果明白这些,就能够用可以赢得用户的布局特性来创建网页。看看一个网站,例如。到达网站后,将看到一个前导标题,一个来自故事的图片,一个简介故事的段落,一个到整个故事的链接。用户可以从图片和简介中立即知道故事的主题,可以找到更多想要的。或者,可以扫描下一个标题,快速决定CNN站点上每一个故事的主题。只要一个点击就可以离开任何一个故事。CNN网站提供了容易的扫描,因为可以快速得到所需要的,用户再次访问的可能性就大。 设计基础 作为网站设计人员,考虑新技术并将它在最新的设计中实施是令人兴奋的。通常,网站设计人员可能有

17、最新的硬件、软件和插件。尽管创建新的硬件和软件能够支持的最具有动态和交互性的网站是极具诱惑力的,但大多数Web用户并不追求最高端的设计。在为大众设计时,一个好的指导方针是为最小公分母 (lowest common denominator)设计。考虑如下内容:大多数用户使用15寸或更小的监视器。许多用户使用的分辨率是640480。大多数用户使用28.8Kb/s的MODEM连接。大多数用户测览器的版本是4.x或者更早。极少数用户会花时间下载插件。 总是存在例外。许多用户正在升级到56Kb/s的MODEM,并使用800600的屏幕分辨率设置。但是,留心这些惯例将指导你创建大多数用户可以使用或者浏览的

18、网站。 有效的Web页面布局 想想自己喜欢的报纸布局。首页有前导故事 (lead story),有一边包括一列,它给出了报纸中故事的其他特征。这是如何影响阅读体验的呢?该布局不会强迫你阅读首页的故事然后再翻页寻找你所感兴趣的其他内容。如果看了故事摘要,并且还想深人地阅读,那么一个页号或者链接会将你引导到整个故事所处的位置。该布局通常被比做一个翻转的金字塔。该样式首先给用户提供了一个故事摘要列表,然后是对细节的链接或者引用。Web是此类传送的一个理想媒体。使用超级链接,可以给用户发送任何数量的关于主题、故事、新闻、产品或者服务的细节。也可以提供到文档或者相关信息的链接,这些是报纸由于缺少空间、时

19、间和资源而不能提供的。如果用户需要更多的信息,他们可以根据自己的判断去测览。否则他们可以转移到别的地方去。 网页布局元素 在网站制作过程开始前,考虑一下网站的外观和结构。必须从视觉和技术的角度理解组成整个页面的元素以及它们之间是如何交互的。然后,应该在整个网站上贯彻所选择的元素。这些网页元素包括布局、字体、颜色、图像以及其他多媒体。 页面布局指的是网站设计人员向用户展示信息的方式。格式应该是有逻辑性的和易于理解的。像在文档或者报告中一样,结构格式将帮助分类、简化和阐明信息。作为网站设计人员,你必须规划出一个结构,并遵守它,使用户体验是有意义和富有成果的。在计划网页布局时考虑以下项目:Frame

20、set(框架集) 允许同时显示多个页面Margin(页边距) 控制显示内容距测览器窗口边界的距离Border(边界) 为HTML表和框架提供可见的边界Color(颜色) 提供网站组织的整体感觉,增加可读性Navigation(导航) 控制用户在网站内的移动Rule(规则) 将页面内容分成相关的部分White space(空白) 减少页面元素混乱,分开页面上的元素Table(表) 在页面上分布放置元素,将数据排成行和列List(列表) 组织并强调某些信息条目Paragraph(段落) 在页面上分组文本字符Headinglevel(标题级) 通过和页面上大多数内容不同尺寸和风格的文本在视觉上组织内

21、容Image(图像) 提供视觉吸引、信息和导航 决定网站上包括哪些内容可以帮助集中开发过程。如果不在开发过程的早期考虑这些,你可能会浪费资源去改正以后开发中的问题。公共布局格式 网站设计人员在网站上使用一些公共基本元素来执行某些重要的导航功能。通过测览几个站点,可以看到这些公共特性页面结构、按钮、文本和图像。当用户访问网站时,他们应该知道希望看到什么。这不是说他们应该知道你提供的所有内容或者产品,但是他们能够容易地判断出如何使用网站。网站布局可以由导航元素放置的方式分类。主要是根据内容的类型和总量来决定选择的布局类型。例如,通常导航元素被放置在左边和上边空白处。导航元素的背景通常和剩余页面的颜

22、色或者外观不同。附加的导航特征通常位于页面底部。白背景上的黑色文本是常见的,公司的标志常放置在左上角显示。因为经常使用这些,对用户而言,格式技术可以让导航更具直观性。下面是几种常见的布局类型。传统的是左边空白布局的,在左边空白处可以看到导航元素。上边空白布局,导航元素放在页面上部。最常使用的布局,分布式左边和上边空白布局。较少使用的是右边空白布局。 分布式布局适于内容较多的网站。 2007年1月份的世界编程语言排行榜 tiobe公布了到2007年1月份为止世界编程语言排行榜,与1年前相比,前三名没有什么变化,vb和php互换了一下,php下降1位,排第5。Python没有什么变化,Ruby飙升

23、了11位排在12位。最近一直在关注Ruby和Python这两种语言,这时两种非常有前途的语言,非常看好。前几名中C+的前景不容乐观,C在一些底层应用,如嵌入式,还能一展所长。Java估计已经快到了他的巅峰期。升的最快的是D语言,简单的讲它是C+的一种修改版,前途难以确定。 PositionJan 2007PositionJan 2006Delta in PositionProgramming LanguageRatingsJan 2007Delta Jan 2006Status11=Java19.160%-3.10%A22=C15.807%-3.20%A33=C+10.425%-1.04%A4

24、5(Visual) Basic9.123%+0.03%A54PHP7.943%-1.46%A66=Perl6.237%-0.81%A77=C#3.521%-0.03%A88=Python3.502%+0.90%A910JavaScript2.845%+1.31%A102111Ruby2.519%+2.15%A1111=SAS2.343%+1.18%A1293Delphi2.336%+0.75%A1312PL/SQL1.570%+0.54%A14228D1.335%+0.97%A-15205ABAP1.229%+0.82%A-16142Lisp/Scheme0.674%+0.07%B1718Ad

25、a0.638%+0.17%B18135COBOL0.637%-0.13%B19154Pascal0.570%+0.04%B203414Transact-SQL0.510%+0.34%BPositionProgramming LanguageRatings21Fortran0.482%22Visual FoxPro数据库0.453%23IDL0.377%24Awk0.372%25Prolog0.371%26dBASE0.366%27MATLAB数值计算0.348%28Logo0.311%29Bash0.303%30ActionScript0.283%31RPG0.275%32ColdFusion

26、0.249%33LabView虚拟仪器0.217%34Maple符号计算0.198%35REXX0.192%36Smalltalk0.163%37Forth0.154%38CL0.152%39Tcl/Tk0.147%40S-lang0.136%41Icon0.126%42Haskell0.126%43Natural0.119%44VBScript0.111%45OCaml0.110%46Q0.110%47Lua0.100%48APL0.097%49Lingo0.097%50Objective-C0.095%未来的WEB开发语言1 不要开发工具,记事本都能改,DW都能改。让策划、美工、页面开发、

27、程序员用一个工具。2 不要编译,不管在哪个地方,只有有台电脑能上网,程序员随时可以telnet上网把代码改了,立刻覆盖,立刻生效,太方便了。3 不基于虚拟机,运营速度很快。4 各个主流OS平台都能跑。5 引擎支持的函数很全。6 不用定义变量类型,不用强制类型转换。从这些特征来看,PHP具备主流特征。三种主流动态网页制作技术的比较目前,最常用的三种动态网页语言有ASP (Active Server Pages),JSP (Java Server Pages),PHP (Hypertext Preprocessor),在这里,从技术和商业的角度来简单的分析一下它们的技术特点。 三种主流动态网页制作

28、技术的比较ASP: 1. 简介:ASP全名Active Server Pages,又成为服务器端的VbScript,所以采用我们非常熟悉的VB语法。 2. 公司特征:由MicroSoft公司推出。 3. 难易程度:由于采用basic语法,只要熟悉basci语言,有点html基础,要学习掌握ASP是很简单的事情。 4. 代码隐藏性:不需要编译,直接运行,所以代码可视。 5. 编写工具:任何文本编辑都可以进行编辑,当然,对于asp我们还是推荐采用MS公司的InterDev。 6. 封装性:能很好的结合MS的COM(+)技术,可以将比较复杂的的事务处理工作封装在COM(+)中,而ASP能非常好的进行

29、调用。 7. 扩充性:由于MS本身的ActiveX技术具有无限可扩充性,所以能很好的结合其他语言编写的组件。 8. 数据库:这个方面,采用MS的ODBC接口技术,所以,几乎所有的数据库都可以结合。 9. 平台性:遗憾的是,对于我们目前流行的两种最主流的网络操作系统(UNIX/Linux和NT/Win2000),它却只能在NT和win2000上很好的支持。 三种主流动态网页制作技术的比较JSP: 1. 简介:JSP全名Java Server Pages,采用java语法,由于java体系的任何东西都是需要jdk支持的,同样,JSP也离不开JDK。 2. 公司特征:由Sun公司推出。 3. 难易程

30、度:由于采用java语法,由于java高度的面向对象和灵活性,所以,比basic稍微要难点。 4. 代码隐藏性:要编译成servlet,在服务器端运行,所以代码不可视。 5. 编写工具:任何文本编辑都可以进行编辑,但是,却需要JDK先编译好。 6. 封装性:能很好的结合Javabean技术,可以将复杂的的事务处理工作封装在Bean中,而JSP能非常好的进行调用。 7. 数据库:采用java结合数据库技术,即:JDBC技术,也是一个统一的数据库接口技术。 8. 平台性:对于我们目前流行的两种最主流的网络操作系统(UNIX/Linux和NT/Win2000),都能很好的支持。 三种主流动态网页制作

31、技术的比较PHP: 1. 简介:PHP全名Hypertext Preprocessor,采用类似C的语法。 2. 难易程度:由于采用C语法,要学习掌握PHP也是比较简单的事情。 3. 代码隐藏性:不需要编译,直接运行,所以代码可视,但是,可以通过Zend的编译器将其代码加密处理,以隐藏源代码。 4. 编写工具:任何文本编辑都可以进行编辑。 5. 封装性:能结合MS的COM(+)技术,也能结合JavaBean,将某些复杂的的事务处理工作封装在COM(+) 和JavaBean中,但是,性能当然没有象ASP结合COM(+)和JSP结合javabean那么“原版”,也就是速度和性能上肯定没有后者好。

32、6. 公司特征:PHP是Open Source的,所以,你可以得到它的源代码,并可以重新编译,甚至加入自己的特征。 7. 数据库:对于目前流行的数据库,几乎都有支持,但是,它却不是象ASP,JSP一样有个统一的接口,对于每种数据库几乎都有一个不同的接口。 8. 平台性:对于我们目前流行的两种最主流的网络操作系统(UNIX/Linux和NT/Win2000),它都可以很好的支持,而且根本不用修改任何代码。 三种主流动态网页制作技术的比较商业特点 ASP 1. 平台成本:我们考虑WIn2000+IIS+ASP+MS SQL Server方案,因为这个些都是ASP的“母”公司的产品,所以,从性能方面

33、考虑,对于ASP肯定是最佳的方案,这些产品中,几乎都是要支付一定的费用的,对于一个小型个公司来说,建设一个ASP的网站是比较“贵”的(当然,不考虑倒版的因素) 2. 人工成本:ASP技术简单,ASP人才几乎到处可见,所以,开发一个ASP网站,维护一个ASP网站,单从人工成本上来说,是不需要太多费用的。 JSP 1. 平台成本:JSP方面,我们考虑的方案非常多,其中,有很多可以考虑的非常优秀的方案,但是,这些“非常优秀”的方案中,其中的价格也是非常昂贵的,当然,我们也可以采用一些不需要支付任何费用的方案,比如:Linux+Resin(Jboss等)+JSP+MySQL 2. 人工成本:从目前来看

34、,由于JSP的诞生没有多长的时间,而且,要真正的将Java体系掌握清楚,并不是短时间能很好的做到的,所以,目前JSP人才应该相对的说,要比ASP和PHP人才要少得多,从商业角度分析,成本也就要贵不少。 三种主流动态网页制作技术的比较PHP 1. 平台成本:我们考虑Linux+Apache+PHP+MySQL方案,因为这个方案是php的最佳选择,而且令人兴奋的是,这些都是开放源代码的产品也就是说,可以不要向任何人支付任何费用就可以做到的。 2. 人工成本:从目前来看,由于PHP目前也是非常流行的,所以,PHP的人才也是非常多,而且,开发速度也是非常的快,所以从这个方面考虑,成本也是不高的。 前景

35、分析 对于比较大型的网站,比如对事务处理和负载均衡要求比较高的站点,采用JSP和ASP的比较多,从成本上考虑,比较经济的站点采用PHP应该是最好的选择,个人认为,如果排除掉一些非法的途径(如:倒版),采用PHP技术的站点应该是最多的。 由于三种语言各自有自己的长处,所以,都有相当的支持者,个人认为,在今后相当一段时间内,都不会被对方所淘汰。 选Ruby还是选Python?IT专家网社区 2006-04-25 09:19人们需要一种快速开发语言,目前炙手可热的快速开发语言就是Python和Ruby了。Ruby和Python都是非常优秀的脚本语言,虽然他们的设计哲学几乎完全不同,但他们效率差不多,

36、应用领域也差距不大,似乎天生就是竞争对手。到底选那个呢?这里来做一些简单的比较。我们比较两种语言的时候,抛开性能问题不说,一般最在意的大概就是资源和学习曲线。总体的印象,用一个不大恰当的比喻:如果Python是Java,那么Ruby就是.net。我们知道,Java世界非常复杂,非常多样性,任何一个需求,都会有很多开源项目,他们用不同的思想来实现,性能特点迥异,到底选那个,总是令人犯难。现在Python也是如此,而由于Python开发难度远远低于Java,导致Python的相关项目比Java还要多得多。选Ruby还是选Python?资源上,两者社区都很强,有趣的是,现在Java社区存在被Ruby

37、同化的危险,至少我订阅的几个Java blog聚合中谈Ruby比Java还多。Ruby的社区较为集中,Python则比较分散。我总怀疑Ruby的日本用户较多,但因为不懂日文,很难确认这个想法。对于一个母语非英语的创始人,我总是有点恐惧,怕很难理解他,怕很难得到最新消息等等等,虽然这个担心目前看来并无必要,不过,谁知道会怎么样呢。Ruby之所以现在突然变得热门,和rails这套架构是分不开的。考虑Ruby,就要考虑到Ruby on rails。rails提供了一套非常好的web开发框架,开发效率非常高。Python虽然有很多类似的架构实现,但并没有出现一个能够一统江湖的架构。Python的zen

38、d虽然完整,但更偏向于web服务器,不能用来和rails比较。选Ruby还是选Python?Ruby比pyton更容易上手。从语言特征看,Ruby有很多有意思的创造,比如说block,但大规模的应用这些好玩的东西让程序变得混乱。Python语法强调简单,但是由于太灵活,简单得太过分,于是传统程序员经常会看到一些令人大吃一惊的表达方式。我不知道这应该算优点还是缺点,至少我认为语法过于灵活,容易导致不同程序员的代码风格差异过大,增加了学习成本。初期入门,Ruby更容易,但一旦达到一定复杂度,那么Ruby的难度骤然加大。Python入门不容易,复杂的时候也不会太痛苦。rails有入门简单,深入难的问

39、题。rails生成的目录是做什么用途?o/r mapping如何实现的?如何把数据从web中传递到数据库的。这些都是Ruby程序员早晚要面对的问题。Python则不会这样,如果搞不清楚这些,大概根本没办法开始。集成度太高的快速开发工具都有这个特点,无论是VB、Delphi,还是.net,有多少使用了半年以内的开发人员可以说清楚工程目录下面所有的文件的用途、每个文件中的语法?我相信很多很有经验的用户也未必说的清楚。选Ruby还是选Python?从架构上看,二者虽然实际上相差甚远,但最后表现出来的结果反而很相似。Ruby是纯粹的OO语言,而Python是函数和OO混合型。虽然Ruby也能用函数风格的编码方式,但实际上是模拟出来的。他们的这个差距对于普通的程序员影响并不大,毕竟看起来差不多。总体来说,如果是非专业人员初尝开发,Ruby是合适的。对于专业的程序员,我还是建议选择Python。对于未来发展,我认为Python的发展可预见,会较为平稳。Python已经属于一个社区,而非一个人,但Ruby由于种种原因,Ruby的作者maze的意志仍然会对Ruby的发展造成较大影响。Sun控制着Java,但由于sun的资源强大,且组织了jcp进行统筹,所以Java发展很不错,但Ruby能不能作到这一点,还需要时间来证明。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号