Web应用程序开发指南

Web应用程序是与服务器端编程相结合的动态Web站点,它提供诸如与用户交互,连接到后端数据库以及向浏览器生成结果等功能。

Web应用程序的示例包括网上银行,社交网络,在线预订,电子商务/购物车应用程序,互动游戏,在线培训,在线调查,博客,在线论坛,内容管理系统等。

技术

创建Web应用程序有两种主要的程序,客户端脚本和服务器端程序:

I.客户端脚本  - 客户端脚本是浏览器执行或解释的代码类型。

客户端脚本通常可由站点的任何访问者查看(从视图菜单中单击“查看源”以查看源代码)。

以下是一些常见的客户端脚本技术:

  • HTML(超文本标记语言)
  • CSS(层叠样式表)
  • JavaScript的
  • Ajax(异步JavaScript和XML)
  • jQuery(JavaScript框架库 - 常用于Ajax开发)
  • MooTools(JavaScript框架库 - 常用于Ajax开发)
  • Dojo Toolkit(JavaScript框架库 - 常用于Ajax开发)

II。服务器端脚本/编码  - 服务器端脚本是Web服务器执行或解释的代码类型。

任何访问者或一般公众都无法查看或访问Server Side Scripting。

以下是常见的服务器端脚本技术:

  • PHP(非常常见的Server Side Scripting语言 - 基于Linux / Unix的开源 - 自由分发,通常与MySQL数据库结合)
  • Zend Framework(PHP的面向对象的Web应用程序框架)
  • ASP(Microsoft Web服务器(IIS)脚本语言)
  • ASP.NET(微软的Web应用程序框架 - ASP的后继者)
  • ColdFusion(Adobe的Web应用程序框架)
  • Ruby on Rails(Ruby编程的Web应用程序框架 - 自由分发)
  • Perl(通用高级编程语言和服务器端脚本语言 - 自由分发 -但失去了PHP的流行度)
  • Python(通用高级编程语言和Server Side Scripting语言 - 自由分发)

程序库

程序库是常用函数,类或子程序的集合,它们允许开发人员轻松地向框架化或模块化类型应用程序添加或编辑功能,从而提供易于开发和维护。

Web应用程序框架

Web应用程序框架是在体系结构系统中组织的程序库,组件和工具集,允许开发人员使用快速有效的方法构建和维护复杂的Web应用程序项目。

Web应用程序框架旨在通过设置文件夹组织和结构,文档,指南和库(常用功能和类的可重用代码)来简化编程并促进代码重用。

Web应用程序框架的优点

  • 程序操作和逻辑与HTML,CSS和设计文件分开。这有助于设计人员能够在没有程序员帮助的情况下编辑界面并进行设计更改。
  • 构建基于模块,库和工具,允许程序员以快速有效的方式轻松共享库并实现复杂的功能和特性。
  • 该结构有助于使用一致的逻辑和编码标准生成最佳实践编码,并使其他开发人员能够在短时间内熟悉代码。

编码指南,标准和惯例

编码指南是用于编写Web应用程序项目的规则和标准集。

这些规则和标准适用于编码逻辑,文件夹结构和名称,文件名,文件组织,格式和缩进,语句,类和函数以及命名约定。这些规则还强制编写明确的注释并提供文档。

使用编码指南的重要好处

  • 为多个程序员创建最佳环境,以便在同一个项目上工作
  • 提供易维护性和版本管理
  • 提供更好的可读性和对源代码的理解
  • 确保其他开发人员能够在短时间内理解并熟悉代码

Web应用程序生命周期模型

Web应用程序生命周期是开发Web应用程序以及参与开发过程的多个团队的参与过程。每个团队都可以提出自己独特的方式。

一些公司遵循某种标准模型,如SDLC(系统开发生命周期)或敏捷软件开发模型。

  • SDLC是开发软件或Web应用程序的传统过程,包括研究以识别和定义应用程序需求,信息分析,架构设计和规范蓝图,团队参与,编程,测试和错误修复,系统测试,实施和维护。
  • 敏捷软件/ Web应用程序开发是迭代开发过程和开发过程实践,侧重于相关人员的协作,并提供更好的过程以允许Web应用程序需求的修订和发展。敏捷方法包括研究,分析,项目管理,设计,编程,实施,频繁测试,适应和维护。

Web应用程序开发过程

Web应用程序开发过程在应用程序开发中组织实用的过程和方法。

有关详细信息:Web应用程序开发过程

以下过程列表和建议文档为Web应用程序生命周期和过程提供了一个很好的概述:

  • 路径图文档:定义Web应用程序,目的,目标和方向
  • 研究和定义受众范围和安全文件
  • 创建功能规范或功能摘要文档
  • 团队协作和项目管理文档
  • 技术选择,技术规范,Web应用程序架构和结构的说明图,开发方法,版本控制,备份,升级,扩展和增长规划文档,服务器硬件/软件选择
  • 第三方供应商分析和选择(商家帐户和支付网关,SSL证书,托管服务器/共同服务器提供商,履行中心,网站访客分析软件,第三方结账系统等)
  • 应用程序可视指南,设计布局,界面设计,线框架
  • 数据库结构设计和Web应用程序开发
  • 测试:质量保证,多浏览器兼容性,安全性,性能 - 负载和压力测试,可用性
  • 维护

Web应用程序测试

测试是Web应用程序开发过程的重要部分。有时,测试会比开发本身消耗更多的人力和时间。

以下是任何Web应用程序开发过程所需的一些最常见的测试:

  • 质量保证和错误测试
  • 多浏览器兼容性
  • 应用安全
  • 性能 - 负载和压力测试
  • 可用性

趋势与受欢迎程度

企业构建Web应用程序的需求正在大幅增长。

如果计划和构建正确,Web应用程序可以:

  • 为数百万消费者和企业提供服务
  • 从消费者,企业和广告商处获得大量的多层/多类别收入
  • 根据受众覆盖面,受欢迎程度,技术和潜在增长,轻松构建业务声誉和资产

以下是公司构建Web应用程序的充分理由:

  • 公司希望简化其内部部门和职能,运营,销售和项目管理等。
  • 企业希望利用基于Web的应用程序的灵活性和多功能性,从传统的桌面应用程序平台转向Web应用程序平台
  • 公司希望通过在线提供便捷的服务和解决方案来获得更多客户或更好地服务现有客户
  • 公司希望构建新的Web应用程序,为在线用户和企业提供创新服务或解决方案

原文标题《Guide to Web Application Development》,

作者:Smith Williams

译者:我就静静地看

不代表云加社区观点,更多详情请查看原文链接

原文链接:https://medium.com/development-io/guide-to-web-application-development-23d958104f1c

原文作者:Smith Williams

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏架构师小秘圈

系统架构设计的原则和模式

1 分层架构 分层架构是最常见的架构,也被称为n层架构。多年以来,许多企业和公司都在他们的项目中使用这种架构,它已经几乎成为事实标准,因此被大多数架构师、开发者...

3677
来自专栏顶级程序员

号称“开发者神器”的GitHub,到底该怎么用?

源 / 开源最前线 GitHub是一个拥有数十亿行代码的网站,每天有数百万开发者聚集在一起,与开源软件进行协作和报告问题。简而言之,它是一个基于Git构建的软件...

3727
来自专栏程序员宝库

号称“开发者神器”的GitHub,到底该怎么用?

GitHub是一个拥有数十亿行代码的网站,每天有数百万开发者聚集在一起,与开源软件进行协作和报告问题。简而言之,它是一个基于Git构建的软件开发人员的平台。

1082
来自专栏CSDN技术头条

京东商品详情页应对“双11”大流量的技术实践

【编者按】此文是根据京东资深Java工程师张开涛11月21日在msup主办的 into100沙龙第14期《京东商品详情页应对大流量的一些实践》演讲中的分享内容整...

27710
来自专栏腾讯云技术沙龙

杨原:腾讯云Kafka自动化运营实践

下面我们有请腾讯云基础架构部高级工程师杨原给我们带来主题分享——腾讯云Kafka自动化运营实践。

1.1K13
来自专栏携程技术中心

干货 | 携程QA-流量回放系统揭秘

3442
来自专栏架构师之路

持续集成十大要点(开发模式该优化了)

持续集成十大要点 一、Continuous Integration(持续集成) (1)持续集成要求开发人员频繁地提交产品,这个频率通常是至少每天一次,有时候可以...

3665
来自专栏架构师小秘圈

存储的瓶颈--大型网站技术演进思考

作者:夏天的森林 出处:cnblogs.com/sharpxiajun/p/4237704.html 一,题记 前不久公司请来了位互联网界的技术大牛跟我们做了一...

3928
来自专栏云计算D1net

横向扩展的NAS:混合云存储的关键

目前,世界上大多数的数据中心仍然使用垂直缩放的存储解决方案,这是一个困扰人们的问题。这种传统的存储方法在设计时并没有考虑到现在达到泽字节的庞大数据。企业以往任何...

4728
来自专栏java、Spring、技术分享

从零开始学架构读书笔记

  软件架构的出现是为了解决系统规模增加后出现了系统耦合严重,开发效率低,逻辑复杂,扩展困难等问题。所以架构设计是为了解决软件复杂度而存在的,所以架构设计的目地...

4624

扫码关注云+社区