PHP와 ASP.NET을 사용하여 웹 응용 프로그램을 개발하는 데 광범위하게 일했지만 고객이 끊임없이 묻는 질문 중 하나는 PHP 웹 사이트 또는 asp.net 웹 사이트로 이동할지 여부입니다.
당연히 가장 먼저 떠오르는 것은 다음과 같은 질문에 답하는 것입니다.
PHP는 오픈 소스이고 ASP.NET은 Microsoft의 것입니다.
일반적으로 그런 식으로 고객이 얼굴을 보지 못하고 있다고 말합니다. 분명히 하나는 오픈 소스이고 다른 하나는 실제로 그들을 희미하게하지는 않습니다. 그리고 내가 처음 들었을 때, 그것은 실제로 나에게 많은 것을 말하지 않기 때문에 좋은 이유가 있습니다.
나는 웹 사이트를 개발할 때 각각의 차이점이 있다는 것을 알고 있습니다.
내 질문은 ASP.NET과 PHP의 차이점은 무엇입니까?
- 풍모
- 보안
- 확장 성
- 프레임 워크
- 평균 개발 시간
적절한 개발 플랫폼에서 현명한 선택을 할 수 있도록 고객과 비교할 수있는 사실 목록을 컴파일하려고합니다.
답변
기능 , 보안 및 확장 성은 거의 동일 할 것입니다. PHP로 할 수있는 일은 ASP.NET으로 할 수 있습니다.
프레임 워크 — 프레임 워크의 기능 에 있어서는 거의 동일합니다. 그러나 언어 자체 보다 구체적 이기 때문에 다음 사항을 고려해야합니다.
- 개발자가 가장 편한 것 지식 = 효율성 .
- 프로젝트별로, 한 언어의 한 프레임 워크가 다른 언어의 프레임 워크보다 자연스럽게 적합 할 수 있습니다. 언어 자체보다 더 구체적이라는 것은 프레임 워크가 일부 작업에 적합하지만 다른 작업에는 적합하지 않다는 것을 의미합니다.
평균 개발 시간 – 아주 작은 프로젝트에 대한 귀하의 평균 개발 시간이 있습니다 웹 호스트가 너무 쉽게 발견하고 dev에 기계가 너무 쉽게 설정할 수 있기 때문에 PHP와 더 나은. 그러나 좋은 개발자가 있거나 이미 설정되어있는 한 더 큰 것이 있으면 아마도 씻을 것입니다.
당신이해야 할 주요 고려 사항은 고객이 앞으로 어떤 기술 스택을 묶고 싶어하는지입니다. 어느 쪽도 다른 쪽과 잘 섞이지 않습니다. 둘 중 하나에 익숙한 개발자가있을 수 있습니다.
-
클라이언트가 Microsoft에 연결하려는 아이디어가 마음에 들면 ASP.NET을 사용하십시오. 일부 고객은 MS의 향후 지원, 업그레이드 등과 관련하여보다 편안함을 느끼게됩니다.
-
오픈 소스 및 Linux 서버에 대한 아이디어가 마음에 들면 PHP를 사용하십시오 . 웹 호스트, 무료 소프트웨어 등의 전송 가능성으로 인해 일부 클라이언트에 관심이있을 수 있습니다.
그리고 마지막으로, 그들이 신경 쓰지 않는다면, 가장 편한 것을 따라 가십시오 . 그 이상은 많지 않습니다.
답변
내가 답을 바탕으로 한 것에 대한 배경을 제시하기 위해 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을 선택합니다.
답변
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은 다른 리그에 있습니다.
답변
두 가지 모두에 대해 광범위하게 작업 한 결과 문제와 고객에 따라 답변이 다를 수 있다는 것을 이미 알고 있습니다. 매우 일반적인 의미에서 :
- PHP는 예산에 맞게 작업해야하는 프로젝트에 적합합니다. 예를 들어, 데이터베이스 라이센스 비용이 많이 들지 않습니다.
- ASP.NET은 Microsoft가 제공하는 지원 및 개발자 문화가 필요한 프로젝트에 적합합니다.
클라이언트에 대한 사실 목록을 컴파일하는 경우 알고있는 내용을 기반으로합니다. 결과가 아무리 편견이 있어도 연구 결과는 중요합니다.
답변
.net 컨트롤은 PhP 플랫폼에서 찾을 수있는 것보다 훨씬 좋습니다. 예를 들어 Infragistics를 보면 LAMP와 동등한 것은 무엇입니까?