Table of Contents
回复内容:
Home Backend Development PHP Tutorial PHP+MYSQL,ASP/ASP.net+SQL Server,JAVA/JSP+MYSQL,三者的优劣何在?如果要建一个中型的电商网站,采用哪种架构比较好?

PHP+MYSQL,ASP/ASP.net+SQL Server,JAVA/JSP+MYSQL,三者的优劣何在?如果要建一个中型的电商网站,采用哪种架构比较好?

Jun 17, 2016 am 08:31 AM

回复内容:

知乎上怎么老是这种问题? 我都开始怀疑是不是知乎故意要挑起大家的语言之争了... 呵呵

我在回答一次, 各有优劣. 没有好坏之分, 完全在于你目前的条件, 适合使用哪种方案. 大人只关注年薪,小孩子才纠结语言~ 架构这东西看你自己的情况而定的。如果硬要推荐一个,而且现在是初创的话,那么,用PHP吧。
  • 一个方案是自己开发,开发起来挺高效的。
  • 如果还觉得开发成本高、效率不够高,那你可以选择 @陈博文 的方案。后端用开源的、PHP的、电商类的CMS搭建,比如国外优秀的OpenCart等;前端用心点,适合国内电商环境的本土化做好。
PHP+MYSQL方案:
开发部署成本相对低廉,开发时间也较快,中型的电商完全不是问题。 适合创业团队,但也有后期维护性问题,体现在代码质量上,如果代码质量能够控制好, 也不是太大的问题。

ASP/ASP.net+SQL Server方案:
开发成本相对低廉,部署成本高,中型电商没有问题。 基于Windows优秀的开源软件较少,后期扩展会成本较高。

JAVA/JSP+MYSQL方案:
开发成本相对高昂, 开发周期也较长。 适合中大型电商。 由于JAVA跨平台,部署成本也相对低廉。 后期扩展相对容易。


各开发方案各有优劣, 借用@刘天宇 的一句话: 找一个优秀的开发团队和一群有脑子的领导。 关键在于哪一种你们更熟悉,哪一种你们资源更多,哪一种你们写出的代码更优质,然后把你们使用这种语言的优势告诉客户,其次就是这种语言后续开发维护成本 对于这个问题,大家一直都有争论,最近国内比较知名的京东商城改变后台语言更是将这个问题推向技术界的风口浪尖。其实技术上没有限制,在技术上是外行的管理层如果不瞎指挥,开发团队也不至于将架构写的如此之烂。简而言之,找一个优秀的开发团队和一群有脑子的领导。 其实真是各有优劣,net架构有微软的强大支持,安全性,可控性都很到位;
java的话,跨平台,开发起来相对复杂;
php我不了解,不过好像用他来开发,开发周期是最短的
ASP/ASP.net+SQL Server 稳定性好。

补充:ASP.NET MVC 免费实战应用开发教程 jinhusns.com/Products/C 在实际环境来说,重要是项目尽早完成尽早上线,面向真实用户验证项目的可行性。没有完美的架构,合适就好。
核心因素是团队素质,不管什么架构,优秀的团队能开发优秀稳定的产品。
选择你自己和团队最熟悉可以掌控的架构即可。
PS:初期别考虑太多什么海量数据、千万并发,很多项目还没到这个程度是死了或者卖了。 中型的电商用Lamp吧,找个技术好的程序员修改下现有的电商CMS,找个牛逼的前端,用户体验做的好一些。
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

cURL in PHP: How to Use the PHP cURL Extension in REST APIs cURL in PHP: How to Use the PHP cURL Extension in REST APIs Mar 14, 2025 am 11:42 AM

The PHP Client URL (cURL) extension is a powerful tool for developers, enabling seamless interaction with remote servers and REST APIs. By leveraging libcurl, a well-respected multi-protocol file transfer library, PHP cURL facilitates efficient execution of various network protocols, including HTTP, HTTPS, and FTP. This extension offers granular control over HTTP requests, supports multiple concurrent operations, and provides built-in security features.

Explain the concept of late static binding in PHP. Explain the concept of late static binding in PHP. Mar 21, 2025 pm 01:33 PM

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Framework Security Features: Protecting against vulnerabilities. Framework Security Features: Protecting against vulnerabilities. Mar 28, 2025 pm 05:11 PM

Article discusses essential security features in frameworks to protect against vulnerabilities, including input validation, authentication, and regular updates.

How to send a POST request containing JSON data using PHP's cURL library? How to send a POST request containing JSON data using PHP's cURL library? Apr 01, 2025 pm 03:12 PM

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

Customizing/Extending Frameworks: How to add custom functionality. Customizing/Extending Frameworks: How to add custom functionality. Mar 28, 2025 pm 05:12 PM

The article discusses adding custom functionality to frameworks, focusing on understanding architecture, identifying extension points, and best practices for integration and debugging.

What exactly is the non-blocking feature of ReactPHP? How to handle its blocking I/O operations? What exactly is the non-blocking feature of ReactPHP? How to handle its blocking I/O operations? Apr 01, 2025 pm 03:09 PM

An official introduction to the non-blocking feature of ReactPHP in-depth interpretation of ReactPHP's non-blocking feature has aroused many developers' questions: "ReactPHPisnon-blockingbydefault...

See all articles