PHP 和 ASP.NET - 功能列表






4.74/5 (52投票s)
这只是一篇辅助文章,可能有助于您决定选择哪种技术。
引言
我不想称之为比较,而是一份同等功能的列表。如果您在互联网上搜索“哪个好,哪个不好”,会找到很多链接。在这里,我想给这两种技术同等的权重,因为它们都有各自的优缺点。
背景
好吧,我在考虑我最新需求时制作了这份列表。我想为我的架构设计工作中的一个演示文稿制作一些内容。
列表来了……
技术选择完全取决于需求。影响选择的因素基于以下几点:
- 业务逻辑的复杂性
- 内容的密度
- 预期访问量(如果是网站)
- 预算
- 项目规模等。
许多功能有多种选择。列出了主要的选项,它们是我的建议。
ASP.NET | PHP | 注释 | |
最新稳定版本 | 4.0 | 5.3.3 | 截至 2010 年 8 月 19 日 |
许可证 | MS EULA | PHP 许可证 v3.01 | |
价格 |
|
|
PHP 可以安装在任何操作系统和 Web 服务器上。但 ASP.NET 仅推荐用于 IIS(尽管有移植到少数 Web 服务器的可用版本) |
第三方托管价格 | 涉及的成本 | 涉及的成本 | 两者都不贵,但如果比较的话,PHP 会稍微便宜一些 |
开发成本 | 涉及的开发人员成本 Visual Studio Express 版本是免费的 快速应用程序开发模型。因此开发耗时更少 | 涉及的开发人员成本 有免费/开源 IDE 涉及大量编码 | 两者相同,但 ASP.NET 更侧重于快速应用程序开发,而 PHP 更侧重于编码 |
跨平台 | 是 | 是 | 无论您使用哪种服务器端语言,浏览器最终都只渲染 HTML。但开发并非跨平台,尽管 ASP.NET 有 Linux 的移植版本 |
代码可移植性 | 部分 | 是 | 对于 PHP,在 Linux/Apache 上编写的代码可以在 Windows 或任何 OS/Web 服务器上运行。但 .NET,即使我们有移植版本,您也需要进行一些调整才能使其运行。 |
云可行性 | 可能 | 可能 | 此外,对于 ASP.NET,还有 SQL Azure 可用于数据库托管。 |
来源模式 | 闭源 | 开源 | 应用程序开发人员无论闭源还是开源都没有任何好处 **更新:** Microsoft 也开放了 .NET framework 的代码供参考。请注意,这只是供参考。您除了阅读什么都不能做。真正的开源必须能够下载、修改、重新编译。您不能创建自己的 .NET 版本。 |
推广者 | Microsoft | PHP 社区 | |
所有者提供的客户支持 | 是 | 否 | |
安全修复 | 自动更新 – 作为操作系统的一部分 | 需要单独更新可用时 | 双方都立即发布 bug 和安全问题的修复程序 |
开发者帮助 | 社区 | 社区 | 这两种技术都有全球的粉丝。他们将通过论坛、邮件列表、新闻组等提供帮助和指导。 |
语言 |
|
PHP | |
数据库 | 任何数据库 适合:Microsoft SQL Server | 任何数据库 适合:MySQL | 支持大多数数据库 |
框架/面向对象 | 有一个内置框架(称为 Web Forms 框架),它会强制开发人员使用面向对象 | 您可以编写过程式和面向对象的代码 | |
MVC | Microsoft ASP.NET MVC | Symfony | |
开发 IDE |
|
|
甚至记事本都可以用于编码。PHP 在这方面更容易,但如果您能负担得起 Visual Studio,那么 ASP.NET 也可以。 |
ORM |
|
Doctrine | |
模板化 | NVelocity | Smarty | |
可扩展性 |
|
PECL – PHP 扩展社区库 | |
易于学习 | 是 | 是 | 我个人发现 PHP 对初学者来说更容易学习编程 |
推荐用于大型系统? | 是 | 否 | 根据我的分析,PHP 推荐用于中小型项目,而 ASP.NET 和 JSP 推荐用于中大型应用程序 **更新:** 如果您想到 Facebook,请理解
|
内容管理系统 |
|
|
种类繁多的选择 |
进步 | 发展非常快 | 发展速度有限 | 微软团队热衷于开发和集成新功能。但由于 PHP 是由社区推广的,因此达到那个水平需要时间 |
向后兼容性 | 旧代码在新框架版本上无需更改即可运行 | 旧代码可能需要调整才能在新版本上运行 | |
安全 | IIS 必须比过去有所改进,如今它是最安全的 Web 服务器之一 | 主要的 Web 服务器是安全的 | ASP.NET、PHP、Oss 及其服务器大多是安全的。现在开发者需要确保他们的编码是安全的。 |
性能 | 更快 | 小程序速度快,中大型程序速度慢 | 非常基础的老论点 – ASP.NET 是编译的,PHP 是解释的(逐行编译和执行) |
部署 | 提供多种方法,例如:发布、XCopy、MSI | 您需要将代码复制/粘贴到服务器(例如:FTP) | |
一些有用的功能 |
|
|
我不敢保证以上所有内容都属实,但所有我都相信是真的。此外,这份列表绝非详尽无遗。构建一个完整的列表非常耗时,所以我只包含了主要几点。
如果我说的有错误或遗漏了任何重要点,请纠正我。
历史
- 2010 年 8 月 19 日:初始版本