现代网站是用无数的技术建立起来的。虽然您不必是这些系统的专家,十堰建网站以妥善管理您的网站项目,这是一个好主意,让自己熟悉基础的基础技术和他们的利弊,以了解他们将对你的网站的长期影响。没有单一的“正确的技术”来建设网站。许多因素应该是您决策的一部分,例如您的供应商的经验、供应商的集体团队才能、开发和许可成本,以及您的组织的内部指南、网站性能、可维护性、易于扩展的扩展性等等。您不应该将特定的技术强加给您的开发人员,特别是如果这不是他们的第一个专业领域。您的web开发人员应该发布一份建议,解释为什么他们推荐的技术是您的最佳选择。同时,选择错误的技术或缺乏技术经验的web开发人员可能会造成很大的成本。为了避免代价高昂的错误,在开始项目之前,请确保以下内容是正确的:
00001. 您完全理解技术的选择及其在您的网站上的长期影响。例如,它是否构成任何限制或需要额外的许可证费用?
00002. 您的web开发人员确实是为该项目选择的技术方面的专家。
以下内容将帮助您浏览Web开发中使用的现代技术的海洋:
在决定哪种技术适合您的网站之前,您必须了解网站的所有构建块。你可以把一个现代化的网站想象成一个有多层的蛋糕。每一层都代表着一种特定的技术。每个“技术层”都有自己的功能和目的。明智地选择它们,你就有了美味的蛋糕。选择不当,你的产品将是不可食用的。以下是一些您应该知道的“层”:
客户端编码HTML(超文本标记语言)、CSS(级联样式表)和JavaScript是网站的基本组件。它们对你的网站同样重要,就像糖对你的蛋糕一样重要。没有这些组件,您就无法构建一个现代化的网站,而且您的web开发人员必须是这三个方面的专家。他们干些什么?简单地说:HTML是一种语言,它构成网站的内容,并告诉浏览器(比如InternetExplorer或GoogleChrome)在网站上显示什么。CSS是一种用来描述网站的表示(外观和格式)的语言,它告诉浏览器在网站上显示什么。JavaScript是一种常用的编程语言,用于在Web浏览器中创建交互效果。这些是客户端技术。客户端意味着当您访问网站时,浏览器会下载HTML、CSS和JavaScript。此时,浏览器呈现(或处理)HTML和CSS,并执行(或运行)JavaScript。这种情况发生在您的计算机上,因此,这些技术都是客户端的。您可能听说过其他客户端技术,如Ajax或jQuery,它们通常是扩展和增强JavaScript功能的方法或库。
另一种客户端技术是Flash。Flash是一种客户端技术,应该避免。AdobeFlash曾经用于创建动画和交互体验。它已经被HTML 5/CSS 3所取代--这是内置的新版本--支持以前只有Flash才能实现的功能。Flash最大的问题是它不受iOS(苹果操作系统)的支持,所以用Flash编写的部分网站在iPhone或iPad上无法工作。最后,Flash也不是搜索引擎优化友好。
构成您的网站的其余技术层包括服务器端,这意味着它们驻留在服务器上并在服务器上运行。为了在您的网站上编程业务逻辑或自定义功能,Web开发人员使用编程语言。有很多,但最常见的是“前四名”:PHP、ASP.NET、Java和Ruby。您可能听说过较不常见或较旧的语言,如Perl、ColdFusion、C/C++或Python。
你的网站开发者应该使用什么编程语言?只要您可以不受限制地访问源代码,我就把它留给他们。我唯一的建议是你坚持“前四名”之一。这将使它更容易转移到另一个web开发人员。为了给你一个想法,下面是世界上最受欢迎的网站所使用的编程语言的分类(请注意,大多数使用的语言不止一种,所以我只列出主要语言):
PHP | Facebook,雅虎,谷歌,维基百科,WordPress |
ASP.NET | 现场直播,MSN.com,Bing |
爪哇 | 亚马逊,eBay,LinkedIn,YouTube |
红宝石 | 推特 |
框架(有时称为平台)是您网站的下一个“层”。您可以将其看作是组成您的网站的乐高部件。从本质上讲,框架是一组经过优化和实地测试的代码库,这些代码提供了可以用来构建网站的构建块。它们允许重用通用函数中的代码,而不需要“重新发明轮子”。很可能,您的web开发人员拥有他们最常使用的框架或平台,我建议您将这一选择留给他们。只要确保框架/平台是其他Web开发人员能够使用的框架/平台,如果您需要迁移到另一个Web合作伙伴的话。大多数现代复杂网站依赖于框架,因为它们使网络开发更有时间和成本效益。对于网站上常用的大多数功能和功能,他们通常都有预先编写的解决方案。以下列出了一些最常见的编程语言框架:
PHP | Zend,Yii,Symphony,CodeIgniter,Cake PHP |
ASP.NET | C# |
爪哇 | Spring/Hibernate,Struts,Tapestry,Scala |
红宝石 | 西纳特拉Rails |
数据库引擎或数据库服务器是存储整个网站数据的网站的基础组件。这是您的网站将存储的所有信息,如产品,订单,交易,用户记录等。您可能会惊讶地获悉,大多数CMS(内容管理系统)使用数据库存储甚至网站的内容。是的,这意味着甚至你的网站上的文本也可以存储在数据库中。数据库引擎的选择在很大程度上取决于其他因素,如编程语言/框架、Web服务器等。Web开发人员最常用的数据库是MySQL、Microsoft SQL Server、Oracle和Postgres。这种选择一般取决于下文所述的其他技术。请注意,MySQL和Postgres通常是“免费”(开放源码)数据库引擎,而MicrosoftSQL和Oracle则需要昂贵的许可证。
Web服务器一词可以指帮助将网站交付给最终用户的硬件(物理计算机)或软件(计算机应用程序)。由于我们谈论的是你的网站的技术蛋糕层,我们指的是服务器上的软件,使您的网站工作。Web服务器是操作系统与其馀部分之间的一层。选择通常取决于您正在使用的其他技术,以及您将在哪里托管您的网站。在互联网领域占据主导地位的两个Web服务器:Apache(Linux)和IIS(Microsoft)。
虽然Linux本身就是一个开源(免费)操作系统,但它有数百种不同的版本和发行版(Ubuntu、Red Hat、CentOS、SUSE、Debian、Fedora),每种版本都由不同的组和组织支持,包括可能不是免费的发行版和插件。WindowsServer是微软的一款产品,它需要购买许可。你网站的底层,最终“让一切正常运转”的是运行在物理服务器机器上的操作系统。对于绝大多数网站来说,有两个底层操作系统:Linux和MicrosoftWindows。
现在你已经了解了所有的“蛋糕层”,有流行的食谱,其中有一个组合层通常使用的相互结合。它们被称为“堆栈”。堆栈是交付一个功能齐全的网站所需的技术或组件的组合。大多数网站分为两类:LAMP(基于Linux)或WISA(基于Windows)。您可以在下面看到扩展的首字母缩略词和各个组件:
操作系统 | Web服务器软件 | 数据库引擎 | 编程语言 | |
灯管(基于linux) | Linux | A帕奇 | MySQL | PHP |
维萨(基于windows) | W内堂 | I是 | SQL服务器 | ASP.NET |
我会说两者都是非常流行的选择,你不能错误的设置。事实上,大多数Web开发人员在这两个阵营中各不相同,他们在Linux或MicrosoftWindows下构建网站。如果你发出一个RFP,它很可能你将得到两个出价。哪一种选择对你更好,这对你有影响吗?在回答这个问题之前,让我们先来看看其他一些因素。