现代网站使用无数技术构建。虽然您不必是这些系统的专家来正确管理您的网站项目,但最好熟悉可用技术的基础知识及其优缺点,以了解其长期影响将在您的网站上 建立网站没有一个“正确的技术”。许多因素应该是您的决定的一部分,例如您的供应商的经验,供应商的集体团队人才,开发和许可成本,以及您组织的内部指南,网站性能,可维护性,易于扩展的扩展性等。您不应该对您的开发人员施加特定的技术,特别是如果它不是他们的第一专业领域。您的网站开发人员应该提出一个建议,解释为什么他们推荐的技术是您的最佳选择。同时,选择错误的技术或网站开发人员在技术上的经验不足可能会造成很大的代价。为了避免代价高昂的错误,在开始项目之前,请确保以下内容是正确的:
您完全理解技术的选择及其对您的网站的长期影响。例如,它是否构成任何限制或需要额外的许可费用?
您的网页开发人员真正是该项目所选技术的专家。
以下将帮助您浏览网络开发中使用的现代技术的海洋:
网站就像是许多图层的一个蛋糕
在决定哪个技术适合您的网站之前,您必须了解网站的所有构建块。您可以将现代网站视为具有多层的蛋糕。每层代表一定技术。每个“技术层”都有自己的功能和目的。选择他们明智,你有一个伟大的蛋糕。选择不好,您的产品将不可食用。以下是你应该知道的一些“层”:
客户端编码 HTML(超文本标记语言),CSS(级联样式表)和JavaScript是您网站的基本组件。他们对您的网站同样重要,因为糖是你的蛋糕。没有这些组件,你不能建立一个现代化的网站,你的网页开发人员必须是这三个专家。他们在做什么?简单来说:HTML是一种构成网站内容的语言,并告诉您的浏览器(如Internet Explorer或Google Chrome)在网站上显示的内容。CSS是用于描述您的网站的演示文稿(外观和格式)的语言,它告诉您的浏览器在您的网站上显示的内容。JavaScript是一种常用于在Web浏览器中创建交互效果的编程语言。这些都是客户端的技术。客户端意味着当您访问网站时,浏览器会下载HTML,CSS和JavaScript。此时,您的浏览器会呈现(或处理)HTML和CSS并执行(或运行)JavaScript。这发生在你的电脑上 因此,这些技术是客户端的。您可能会听到其他客户端技术,如Ajax或jQuery,通常是扩展和增强JavaScript功能的方法或库。
另一个客户端技术是Flash。Flash是应该避免的一种客户端技术。Adobe Flash历史上被用来创建动画和互动体验。它已被HTML5 / CSS3替代 - 新版本已经内置了对以前只能使用Flash的功能的支持。Flash最大的问题是iOS(Apple的操作系统)不支持这一功能,因此您使用Flash编写的网站的部分功能将无法在iPhone或iPad上运行。最后,Flash也不是SEO友好的。
编程语言
组成您的网站的其余技术层是服务器端的,这意味着它们在服务器上驻留和操作。为了在您的网站上编程业务逻辑或自定义功能,Web开发人员使用编程语言。有很多,但最常见的是“四大”:PHP,ASP.NET,Java和Ruby。您可能已经听说过Perl,ColdFusion,C / C ++或Python等不太常见或较旧的语言。
您的网站开发人员应该使用哪种编程语言为您的网站?只要你不受限制地访问源代码,我会留给他们。我唯一的建议是坚持“四大”之一。这将使您更轻松地移动到另一个Web开发人员。只是给你一个想法,下面是世界上最受欢迎的网站使用的编程语言的细节(请注意,大多数使用不止一个,所以我仅列出主要语言):
框架/平台
框架(有时称为平台)是您网站中的下一个“层”。您可以将其视为组成您的网站的乐高®。基本上,一个框架是一组优化和现场测试的代码库,提供可用于构建网站的构建块。它们允许重用常用功能的代码,而不必“重新发明”。很可能,您的网站开发人员有一个最常使用的框架或平台,我建议您将此选择留给他们。只要确定框架/平台是其他Web开发人员能够使用的平台,如果您需要移动到另一个Web合作伙伴。大多数现代复杂网站依赖于框架,因为它们使Web开发更加时间和成本效益。他们通常为网站上常用的大多数功能和功能预先编写了解决方案。编程语言的一些最常见的框架如下所示:
数据库引擎
数据库引擎或数据库服务器是您的网站的基础组件,其中存储了整个网站的数据。这就是您的网站将存储产品,订单,交易,用户记录等所有信息的地方。您可能会惊讶地发现,大多数CMS(内容管理系统)使用数据库来存储网站的内容。是的,这意味着即使您网站上的文字也可能存储在数据库中。数据库引擎的选择在很大程度上取决于其他因素,如编程语言/框架,Web服务器等。Web开发人员最常见的数据库是MySQL,Microsoft SQL Server,Oracle和Postgres。选择通常取决于下面所述的其他技术。请注意,MySQL和Postgres通常是“免费”(开源)数据库引擎,
Web服务器软件
术语Web服务器可以指的是硬件(物理计算机)或软件(计算机应用程序),有助于将您的网站提供给最终用户。由于我们正在谈论您网站的技术蛋糕层,我们指的是服务器上的使您的网站正常工作的软件。Web服务器是操作系统和蛋糕的其余部分之间的层。选择通常取决于您正在使用的其他技术以及您将在何处托管您的网站。两个网络服务器主导互联网的景观:Apache(Linux)和IIS(Microsoft)。
操作系统
虽然Linux是一个固有的开源(免费)操作系统,它可以在数百种不同的风格和发行版(Ubuntu,Red Hat,CentOs,SUSE,Debian,Fedora)中使用,每个都由不同的组织和组织支持,包括发行版和附加组件,可能不是免费的。Windows Server是一种Microsoft产品,需要购买许可证。最终“使所有工作”的网站的底层是在物理服务器机器上运行的操作系统。对于绝大多数网站,有两个底层操作系统:Linux和Microsoft Windows。
网络堆栈
现在,您了解所有的“蛋糕层”,有一些流行的食谱,其特征是通常结合使用的层的组合。它们被称为“堆栈”。堆栈是提供完整功能的网站所需的技术或组件的组合。大多数网站分为两类:LAMP(基于Linux)或WISA(基于Windows)。您可以看到下面扩展的首字母缩略词和各个组件:
我会说这两个都是非常受欢迎的选择,你不能错过任何一个设置。事实上,大多数Web开发人员在这两个阵营之间分裂,并在Linux或Microsoft Windows下构建网站。如果您发送RFP,您可能会收到两者的出价。哪个是更好的选择,它有什么不同?在您回答这个问题之前,我们来看几个其他因素。