PHP 또는 ASP.NET을 언제 사용해야합니까? [닫은]


46

PHP와 ASP.NET을 사용하여 웹 응용 프로그램을 개발하는 데 광범위하게 일했지만 고객이 끊임없이 묻는 질문 중 하나는 PHP 웹 사이트 또는 asp.net 웹 사이트로 이동할지 여부입니다.

당연히 가장 먼저 떠오르는 것은 다음과 같은 질문에 답하는 것입니다.

PHP는 오픈 소스이고 ASP.NET은 Microsoft의 것입니다.

일반적으로 그런 식으로 고객이 얼굴을 보지 못하고 있다고 말합니다. 분명히 하나는 오픈 소스이고 다른 하나는 실제로 그들을 희미하게하지는 않습니다. 그리고 내가 처음 들었을 때, 그것은 실제로 나에게 많은 것을 말하지 않기 때문에 좋은 이유가 있습니다.

나는 웹 사이트를 개발할 때 각각의 차이점이 있다는 것을 알고 있습니다.

내 질문은 ASP.NET과 PHP의 차이점은 무엇입니까?

  1. 풍모
  2. 보안
  3. 확장 성
  4. 프레임 워크
  5. 평균 개발 시간

적절한 개발 플랫폼에서 현명한 선택을 할 수 있도록 고객과 비교할 수있는 사실 목록을 컴파일하려고합니다.


7
두 가지를 모두 사용했는데 Visual Studio와 ASP.NET이 훨씬 강력하다고 생각합니다. IDE만으로도 승리합니다.
머핀 맨

7
PHP는 나의 첫 번째 웹 프로그래밍 언어이기 때문에 항상 나를위한 자리를 차지할 것입니다. 그러나 2 년 동안 ASP.NET C #을 한 후에는 되돌아 갈 수있는 방법이 없습니다 .... Visual Studio IDE는 훌륭합니다!
Dal

네, PHP가 일종의 메인 IDE를 가지기를 바랍니다. 그러나 그것이 오픈 소스 인 PHP의 정신을 죽일 것이라고 생각합니다. 분명히 고려해야 할 요소입니다.
Edward

2
6. 프로젝트 기간 동안의 비용?
VirtuosiMedia

@VirtuosiMedia 언급하지 않은 또 다른 중요한 요소입니다.
Edward

답변:


39

기능 , 보안확장 성은 거의 동일 할 것입니다. PHP로 할 수있는 일은 ASP.NET으로 할 수 있습니다.

프레임 워크 — 프레임 워크의 기능 에 있어서는 거의 동일합니다. 그러나 언어 자체 보다 구체적 이기 때문에 다음 사항을 고려해야합니다.

  • 개발자가 가장 편한 것 지식 = 효율성 .
  • 프로젝트별로, 한 언어의 한 프레임 워크가 다른 언어의 프레임 워크보다 자연스럽게 적합 할 수 있습니다. 언어 자체보다 더 구체적이라는 것은 프레임 워크가 일부 작업에 적합하지만 다른 작업에는 적합하지 않다는 것을 의미합니다.

평균 개발 시간 - 아주 작은 프로젝트에 대한 귀하의 평균 개발 시간이 있습니다 웹 호스트가 너무 쉽게 발견하고 dev에 기계가 너무 쉽게 설정할 수 있기 때문에 PHP와 더 나은. 그러나 좋은 개발자가 있거나 이미 설정되어있는 한 더 큰 것이 있으면 아마도 씻을 것입니다.


당신이해야 할 주요 고려 사항은 고객이 앞으로 어떤 기술 스택을 묶고 싶어하는지입니다. 어느 쪽도 다른 쪽과 잘 섞이지 않습니다. 둘 중 하나에 익숙한 개발자가있을 수 있습니다.

  • 클라이언트가 Microsoft에 연결하려는 아이디어가 마음에 들면 ASP.NET을 사용하십시오. 일부 고객은 MS의 향후 지원, 업그레이드 등과 관련하여보다 편안함을 느끼게됩니다.

  • 오픈 소스 및 Linux 서버에 대한 아이디어가 마음에 들면 PHP를 사용하십시오 . 웹 호스트, 무료 소프트웨어 등의 전송 가능성으로 인해 일부 클라이언트에 관심이있을 수 있습니다.

그리고 마지막으로, 그들이 신경 쓰지 않는다면, 가장 편한 것을 따라 가십시오 . 그 이상은 많지 않습니다.


8
"+1은 고객이 앞으로 쌓고 싶은 기술 스택입니다."
시스템 다운

보안에서 분기 됨 각 플랫폼의 성능을 확인할 수있는 리소스가 없습니까?
Edward

3
@loyalpenguin-그 자체로 질문입니다. "각 플랫폼의 성능"에 대한 의미는 확실하지 않지만, 플랫폼 보안 허점 (거의 항상 빠르게 패치 됨) 에 대해 이야기 할 때는 걱정할 필요가 없습니다. 대부분의 경우 각 언어는 코드를 작성하는 개발자만큼 "안전"합니다.
Nicole

좋은 지적입니다. 마지막 질문 하나 더 안전한 질문에서 어떻게 벗어날 수 있습니까?
Edward

@loyalpenguin 다른 질문이라고 말하면 "플랫폼 보안 문제가 웹 응용 프로그램의 주요 원인입니까?" PHP, ASP.NET, Java, Ruby on Rails 등? " 나에게, 나는 그렇게 확신 실제로 것이 아니에요 입니다 우려 큰 원인.
Nicole

29

내가 답을 바탕으로 한 것에 대한 배경을 제시하기 위해 6 년 이상 전문적으로 PHP 개발을 해 왔으며 지난 3-4 개월 동안 ASP.NET MVC를 가지고 놀았으며 C #을하고 있습니다. PHP 프로그래밍만큼 오랫동안 프로그래밍.

나에게 이것은 PHP 대 ASP.NET보다 PHP 대 C # 인수에 가깝습니다.

기능 / 연장 성
ASP.NET이 이기고 있으며 C #과 같은 언어를 사용할 수 있기 때문입니다. C #은 OO를 지원하는 PHP보다 훨씬 나은 언어입니다. 나는 또한 정적으로 유형이 지정된 언어를 선호하는 사람입니다 (C # 4.0으로 생각하더라도 동적으로 유형이 지정된 변수를 사용할 수 있다고 생각합니다). 언어 기능에 관해서는 PHP가 C #보다 유일하게 한 것은 선택적 매개 변수이지만 C # 4.0에 추가 된 또 다른 것입니다 (아직 시도하지 않았으므로 제대로 작동하는지 확실하지 않습니다).

보안
나는 아마 둘 사이의 세척이라고 말할 것입니다. 보안에 도움이되는 기능이 모두 있다고 생각하지만 궁극적으로 애플리케이션의 안전을 보장하는 것은 프로그래머의 임무입니다.

프레임 워크
PHP는 ASP.NET보다 더 많은 주류 프레임 워크 (CakePHP, Codeigniter, Symfony, Zend Framework)와 다른 많은 작은 프레임 워크를 가지고있는 것 같습니다. ASP.NET에는 Microsoft의 두 가지 기본 프레임 워크, WebForms (완전한 문제) 및 ASP.NET MVC (ASP.NET 개발에 들어간 이유)가 있습니다. PHP에는 더 많은 프레임 워크가 있지만 ASP.NET MVC 3 프레임 워크는 PHP 프레임 워크보다 낫습니다.

평균 개발 시간
나는 소규모 프로젝트의 경우 PHP에서 개발 시간이 훨씬 낫다고 생각하지만 프로젝트의 크기가 커질수록 C #은 더 잘 확장됩니다.

비용
제기해야 할 비용은 비용입니다. 이면에서 PHP 핸드 다운이 승리합니다. Linux에서는 Mono에서 ASP.NET을 실행할 수 있지만 자체 문제가 있습니다.

중소 규모의 프로젝트를 수행하거나 비용이 중요한 경우 PHP가 승리합니다. 대규모 프로젝트를 수행하는 경우 C # 및 ASP.NET MVC를 사용하여 ASP.NET을 선택합니다.


3
Web Forms에는 이점이 있습니다. 예를 들어 웹 응용 프로그램을 빠르게 구축하기 위해 수천 가지의 즉시 사용 가능한 컨트롤을 사용하여 웹 사이트에서 고객을 판매 할 수있었습니다.
Edward

1
@ryanzec WebForms는 쓰레기가 아니며 다른 관점에서 ASP.NET MVC만큼 좋습니다. 상용 환경에서 첫 번째 버전의 Preview 2 이후로 ASP.NET MVC 프레임 워크를 사용했습니다. 또한 지난 7 년 이상 WebForms를 사용해 왔습니다. 또한 더 이상 ASP.NET에 대한 비용을 주장 할 수 없으며 Microsoft는 무료 도구를 제공하므로 PHP가 제공하는 것보다 낫습니다. 또한 Microsoft는 무료 버전의 SQL Compact 및 SQL Server를 제공하고 있습니다. .NET을위한 타사 호스팅은 요즘 Linux와 비슷합니다.
Nickz

ASP.NET 호스팅 비용이 향상되었다는 데 동의하지만 VPS Windows 호스팅보다 훨씬 저렴한 VPS LAMP 호스팅을 훨씬 쉽게 찾을 수 있습니다.
ryanzec

또한 WebForm에 관해서는 쓰레기가 거칠다는 말은 내 차가 아닙니다. 구성 요소에서 제공하는 것 이외의 작업을 시도하거나 기존 구성 요소를 크게 수정하는 작업을 수행하면 기하 급수적으로 어려워집니다. 또한 시스템이 포스트 백과 함께 작동하는 전체 방식과 웹 개발을 위해 너무 나쁘게 보입니다. ASP.NET MVC를 선호합니다. 제 생각에 웹 개발에 적합하고 생성 된 것을 100 % 컨트롤러로 제공합니다.
ryanzec

8

PHP와 ASP.NET은 사과와 오렌지를 비교하는 것과 같으며 다양한 솔루션을 목표로합니다.

PHP는 소규모 시작 솔루션에 더 적합한 프레임 워크입니다. PHP는 너무 많은 요구 사항이없는 Linux 또는 Windows를 실행합니다. Microsoft ASP.NET은 산업 수준의 프레임 워크이며 상상할 수있는 모든 것을 갖추고 있습니다. ASP.NET은 기본적으로 풍부한 기능을 갖춘 풍부한 환경입니다. 많은 사람들이 ASP.NET이 비싸다고 주장 할 것입니다. 몇 년 전의 경우 였지만 더 이상은 아닙니다. 먼저 도구는 무료이며 (Express Edition) 데이터베이스 옵션은 무료입니다 (SQL Compact 또는 SQL Server 2005 이상). 구매 호스팅은 이제 매우 저렴하므로 질문이 낫지는 않지만 솔루션에 적합한 것은 무엇입니까? 개인적으로 ASP.NET을 선호하지만 유연성과 확장 성이 매우 중요한 회사 환경에서 작업하기 때문에 솔루션이 프레임 워크를 지시하기 때문입니다.

가장 중요한 것은 어떤 언어를 가장 잘 사용하는 것입니까? 이것이 결정의 마지막 요소 여야합니다.

목표가 클라이언트를 설득하는 경우 asp.net이 더 나은 옵션입니다. 언어를 뒷받침하는 큰 회사 이름은 고객을 편안하게 만듭니다. 이 경우 최상의 옵션은 (Microsoft) ASP.NET 및 (Oracle) Java JSP입니다.

편집 : 풍부한 기능-ASP.NET은 웹 사이트 WebForms 및 MVC 접근 방식을 구축하는 두 가지 대안을 제공합니다. .NET 프레임 워크와 별도로 WF (워크 플로), DLR (동적 언어 런타임), 병렬 Linq, Linq, 라우팅, 다양한 형태의 데이터 상태 관리 : HTTPContext 항목, ViewState, 런타임 캐시, 페이지와 같은 매우 강력한 기능이 있어야합니다. 출력 캐시, 세 가지 다른 유형의 세션 구현 InProc, State 및 SQL Server. ASP.NET은 다양한 형식의 보안 (예 : 멤버 자격 공급자 및 역할 공급자)을 구현합니다. PHP를 가방에 넣고 싶지 않지만 ASP.NET은 다른 리그에 있습니다.


5
나는 항상 변명으로 "Microsoft = Expensive"라고 들었습니다. 이것이 제가 PHP를 먼저 배운 이유입니다. 그러나 나는 더 이상 사실이 아니라는 데 동의해야합니다.
Edward

예, 경기장은 지금도 꽤나 요즘에는 어떤 언어를 사용해야하는지 알기가 어렵습니다.
Nickz

"산업 강도 프레임 워크"란 정확히 무엇을 의미 합니까? "당신이 상상할 수있는 것 이상"? "매우 풍부한 기능을 갖춘 풍부한 환경"? PHP가 아닌 방식으로 ASP.NET은 어떻습니까? 설명 할 때까지 이것은 Microsoft 광고 언어 일뿐입니다.
Nicole

설계 목표-php는 원래 개인 홈페이지에 적합했으며 간단한 서버 측 스크립팅을 쉽게하도록 설계되었습니다. asp.net은 엔터프라이즈 레벨 솔루션으로서 Java ee와 경쟁하기 위해 구축되었습니다. php는 수년에 걸쳐 많은 기능을 흡수 해 왔지만,이 "특징"은 언어 불일치 및 플랫폼 문제로 인해 부패합니다. 나는 자주 PHP를 사용하지만, 그것은 범용 프로그래밍 플랫폼이 아닌 웹 언어가되도록 설계되었다
bunglestink

6

두 가지 모두에 대해 광범위하게 작업 한 결과 문제와 고객에 따라 답변이 다를 수 있다는 것을 이미 알고 있습니다. 매우 일반적인 의미에서 :

  • PHP는 예산에 맞게 작업해야하는 프로젝트에 적합합니다. 예를 들어, 데이터베이스 라이센스 비용이 많이 들지 않습니다.
  • ASP.NET은 Microsoft가 제공하는 지원 및 개발자 문화가 필요한 프로젝트에 적합합니다.

클라이언트에 대한 사실 목록을 컴파일하는 경우 알고있는 내용을 기반으로합니다. 결과가 아무리 편견이 있어도 연구 결과는 중요합니다.


8
.Net이 "큰 데이터베이스 라이센스 비용"과 자동으로 연결되면 일종의 위험이 따릅니다. 물론 .Net은 무료가 아닌 다양한 RDBMS와 인터페이스 할 수 있으며 물론 PHP도 자유롭고 그렇지 않을 수 있습니다 (Microsoft가 유일하게 인기있는 RDBMS가 아니기 때문에 라이센스 비용이 큰 것은 아닙니다).
quentin-starin

3
말할 것도없이 Express 및 웹 버전의 SQL Server는 훨씬 더 맛있는 라이센스 비용이 있습니다 (Express의 경우 무료).
quentin-starin

죄송합니다. MS는 풀 스택으로 더 잘 팔리는 것 같고 Express보다 더 큰 DB 엔진을 가정하고있었습니다.
프레드 윌슨

1
개인적으로 취하지 않고, 나는 협회가 꽤 자주 만들어지는 것을 보았습니다.
quentin-starin

1
@loyalpenguin : 내 경험상 .Net에서 지원 되지 않는 스토리지 엔진을 찾는 것은 드 rare니다 . PHP에서 이것이 사실인지 여부에 대해서는 언급 할 수 없습니다.
quentin-starin

1

.net 컨트롤은 PhP 플랫폼에서 찾을 수있는 것보다 훨씬 좋습니다. 예를 들어 Infragistics를 보면 LAMP와 동등한 것은 무엇입니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.