ASP.NET에서 램프 (PHP) 스택으로 사이트를 포팅하는 데 어떤 문제가 발생합니까?

StackOverflow https://stackoverflow.com/questions/617829

  •  03-07-2019
  •  | 
  •  

문제

ASP.NET C# (3.5) 및 SQL Server에 작성된 엔터프라이즈 애플리케이션이 고객을 위해 묶고 릴리스하려는 SQL Server가 있습니다.

그러나 몇몇은 그 우려를 표명했다 필요합니다 비용으로 인한 Microsoft 서버. 예, 알고 있습니다 ... 그러므로 우리는 "P"가 PHP를 참조하여 램프 스택으로 포팅하는 것을 고려하고 있습니다.

Visual Studio ASP.NET 환경에서 나오는 램프 스택에서 개발에 직면 할 수있는 과제는 무엇입니까?

내가 확신하는 문제는 다음과 같습니다.

  1. 디버깅 : Visual Studio는 클라이언트 및 서버 측 디버깅에 대단합니다.
  2. 프레임 워크 : 모델 뒤에있는 코드는 훌륭하게 작동하며 MVC 프레임 워크가 훌륭합니다.
  3. 유지 보수 : 우리는 기능 세트가 두 플랫폼에서 공통적이되기를 원합니다.
  4. 데이터베이스 계층 : 코드는 MSSQL 데이터 유형과 느슨하게 결합됩니다.

이 흥미 진진한 과정을 겪었다면, 나는 몇 가지 권장 사항/팁으로 어떤 모습인지 알고 싶습니다.

이것의 측면으로, 우리 가이 코드를 그대로 실행할 수있는 방법이 있습니까? 단핵증? 다른 것?

도움이 되었습니까?

해결책

*amp 스택보다 .NET에 대한 경험이 더 많지만 XAMPP에 대한 경험을 바탕으로 다음 관찰을 제공합니다.

  1. 디버깅 : Visual Studio는 클라이언트 및 서버 측 디버깅에 대단합니다.

    일식 Pdt 디자인, 개발 및 디버깅에 적합합니다. Zend Studio에 대해 좋은 소식을 들었지만 작업하지 않았습니다.

  2. 프레임 워크 : 모델 뒤에있는 코드는 훌륭하게 작동하며 MVC 프레임 워크가 훌륭합니다.

    논리에서 프레젠테이션을 분리 할 수있는 프레임 워크가 있습니다 (예 : 똑똑합니다 ) 및 최소한 하나의 MVC 프레임 워크를 사용할 수 있습니다 (예 : 케이크)

  3. 유지 보수 : 우리는 기능 세트가 두 플랫폼에서 공통적이되기를 원합니다.

    Windows 특정 기능 (Windows Integrated Security 등)을 제외하면 많은 사람이 없어야합니다. 캔트 두 스택 모두에서 수행하지만 GridView와 같은 컨트롤을 재현 해야하는 경우 노동 집약적입니다.

  4. 데이터베이스 계층 : 코드는 MSSQL 데이터 유형과 느슨하게 결합됩니다.

    MySQL과 SQL Server 사이에 매핑 할 수없는 데이터 유형을 알지 못하며 좋은 설명서가 있습니다. 마이그레이션 처리

모노는 솔루션을 포트하는 데 필요한 시간을 줄일 수 있지만 모든 코드를 "그대로"재사용 할 수있는 방법을 알지 못합니다.

다른 팁

당신이 고려할 수있는 또 다른 PHP IDE는 netbeans입니다.

.NET, Java 및 Lamp Developer는 어느 시점에서 가장 큰 변화는 대부분 문화적이었습니다. 예를 들어, PHP는 OO 원칙을 사용하지 않는 유산이 있지만 ASP .NET은 완전한 OO 지원을 가진 .NET 언어로 시작했습니다. 이 기본 차이는 PHP의 긴 예약 키워드 목록 등과 같은 중요한 문제로 이어집니다.

기타 MVC 프레임 워크 :

  • Codeigniter
  • 코나
  • YII

(방금 Yii에 대해 알게되었습니다. 여기 기사가 있습니다 그것은 그것들을 비교합니다.)

아마도 6 개가 더 많을 것입니다.

나는 ASP.NET 배경을 직접 가지고 있으며 지난 몇 개월 동안 오픈 소스 프레임 워크를 연구하고 있습니다. 나는 아직도 내 마음을 만들지 않았다. 나는 최근에 성배를보고 있습니다. 엔터프라이즈 플랫폼에서 스크립트, 사용하기 쉬운 오픈 소스 RAD MVC 프레임 워크입니다. Groovy Scripting Language (Ruby -Like)를 사용하지만 JVM에서 실행되므로 원하는 경우 전체 Java 프레임 워크를 사용할 수 있습니다. 활용할 수있는 많은 양의 Java 구성 요소가 있습니다. 이건 꽤 멋지다. 기존 앱을 매우 빨리 포트 할 수 있습니다. 그래도 Tomcat Webhost가 필요합니다.

PHP가 필요한 경우 스트레이트 PHP는 꽤 잘 수행되지만 대부분의 프레임 워크는 성능이 좋지 않습니다. 직선 PHP와 함께 가면 MVC가 없습니다. 기존 페이지 기반 모델을 사용하고 있습니다. 그러나 당신은 집에서 더 많은 느낌을 줄 것입니다. PDO로 자신의 dal을 굴려 저장 절차를 사용할 수 있습니다. 그래도 템플릿 시스템이 필요합니다. 자체 템플릿 언어를 사용하는 Smarty를 피하십시오. 느리고 왜 Seprate 템플릿 언어를 배워야합니까? 나는 그것을 얻지 못한다. 대신 Savant를 사용하십시오. http://phpsavant.com/. 템플릿 언어에 PHP를 사용하고 빠릅니다. 각 사이트 페이지의 템플릿 페이지를 만들어 코드를 모방 할 수 있습니다. MVC까지는 YII라는 새로운 PHP 프레임 워크가 있습니다.http://www.yiiframework.com/) PHP 프레임 워크에 대한 최고의 성능을 가지고 있다고 주장합니다. 그것도 잘 문서화되어 있습니다. .NET에서 온 경우 PHP 프레임 워크가 가장 좋습니다. Zend와 같은 엔터프라이즈는 성능이 좋지 않습니다. 다른 사람들의 대부분은 장난감이거나 심포니와 케이크처럼 느리게 느린다. PHP는 Apache와 잘 작동합니다. 레일 및 장고와는 달리 튜닝이나 유지 보수가 많지 않습니다.

다음으로 IDE가 필요합니다. Netbeans와 함께 가십시오. PHP 버전을 사용하고 설치하십시오 http://www.xdebug.org/. VS보다 열등하다고 느낄 것이지만 나쁘지는 않습니다.

DB의 경우 MySQL은 섹시한 선택이지만 Postgres는 우수합니다. 모든 것을 수행하는 하나의 DB 엔진이 있습니다. MySQL을 사용하면 원하는 일부 기능은 Innodb에 있고 일부 기능은 Myisam에 있습니다. 외국 키와 거래가 필요한 경우 innodb를 사용해야합니다. FullText 검색 및 더 빠른 읽기 성능에 MyISAM을 사용하십시오. Postgres Performance는 버전 8 릴리스 (MySQL과 동일)와 함께 크게 제공되었으며 마지막으로 멋진 Windows 설치 프로그램이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top