2010-02-11 5 views
1

현재 우리는 공급자 소유의 언어/프레임 워크로 작성된 웹 응용 프로그램을 보유하고 있습니다. 불행하게도, 제한된 구문과 "웬만한"아키텍처로 작업하기에는 좋지 않습니다.Ruby 또는 PHP with .NET 사용

거기에는 정말 훌륭한 개발 플랫폼이 있습니다. (.NET, PHP, Ruby - PHP 나 Ruby에 대해서는 아무것도 모르고 있지만 위대한 것을 들었습니다. p) 우리는 웹 애플리케이션을 추상화하고 싶습니다. 그들의 데이터 액세스 코드를 사용하여 웹 애플리케이션을 구축하려는 모든 것을 사용할 수 있습니다.

내가 제안하는 것은 우리가 우리 응용 프로그램에서 사용할 수있는 공통 개발 언어로 작성된 서비스 계층을 제공한다는 것입니다. 불행히도 (.net 개발자로서) 나는 C#으로 이것을 작성하려고하지 않을 것이라고 생각합니다.

내 질문은 이것입니다. 서비스 레이어를 작성하는 것이 좋습니다. 이상적으로 .net 개발자로서 서비스 계층을 사용할 수있게 될 것입니다. .net 또는 PHP 응용 프로그램 (Ruby.NET에 대해 약간 읽었으므로 이것이 가능하다고 생각하십니까?).

Ruby on Rails와 PHP를 매우 빠르게 보았을 때 Ruby가 나에게 더 매력적이라고 ​​말했을 것입니다. (PHP는 다소 "성가신 것"으로 보입니다 만, 나는 그것을 사용하지 않았습니다.)

두 가지를 모두 사용하는 개발자의 의견을 듣습니다.

감사 벤

+0

루비와 PHP가 훌륭하다고 말하는 것은 과자와 시금치가 훌륭하다고 말하는 것과 같습니다. \*왝\*. –

+0

나는 어느 쪽이든에 대해서 충분히 알지 못하기 때문에 나는 정말로 논평 할 수 없다. 어떤 개발자라도 자신이 선택한 언어가 훌륭하다고 말할 것입니다. 물론 안전하게 말할 수는 있지만 토론 된 응용 프로그램의 공급 업체와 마찬가지로 그렇지 않습니다. –

+0

답장 해 주셔서 감사합니다. SOAP/REST API는 확실히 우리에게 필요한 유연성을 제공 할 것이며 특정 개발 플랫폼에 연결하지 않을 것입니다. 우리는 Sonic과 같은 ESB 솔루션을 다른 프로젝트에 사용하는 방법에 대해 논의 했으므로 공급 업체가 SOAP API를 제공하기 위해이를 활용할 것으로 기대합니다. –

답변

2

왜 당신의 인터페이스로 HTTP를 사용합니까? 그들은 이미 어떤 종류의 웹 인프라를 사용하고 있기 때문에 쉽습니다. - 인터페이스를 게시하고 가져올 수있는 URL 집합으로 설명하십시오. 이 경로의 경우 인터넷에서 REST 및 RESTful 아키텍처에 대한 모든 기사를 확인하십시오.

그런 다음 한발 뒤로 물러서십시오. 광신자들이 당신의 영혼을 죽이지 않도록하십시오. 인터페이스가 작동하도록하고 순수한 REST가되는 것에 대해 너무 걱정하지 마십시오 (조언은 일반적으로 건전하지만).

이 방법을 사용하면 웹 페이지를 작성하는 방법에 상당한 유연성을 얻을 수 있습니다.

이렇게하면 서비스 레이어에 어떤 언어가 사용되는지는 중요하지 않습니다. : 관심있는 것은 서비스 레이어에 액세스하는 데 사용하는 인터페이스입니다. 다른 옵션은 SOAP 인터페이스 (약간의 행운과 함께 쉽게 .NET에서 소비 될 수 있음) 또는 XML-RPC 인터페이스 (.NET에서이를 소비하는 것에 대해 알지 못함)를 제공하는 것입니다.

내 요점은 이것이다 : 당신은 서비스 계층이 작성된 언어를 지시해서는 안 당신은 서비스 계층은 노출하는 인터페이스를 지시해야한다 -하고 있음을 소모 원하는 언어 인치.

+0

질문은 인터페이스 디자인보다는 구현 기술에 대해 묻는 것 같습니다. "귀하의 인터페이스로 HTTP 사용"은 확실히 합리적인 조언이지만, "서비스 레이어를 작성할 것을 제안 할 것"을 결정하는 데는 도움이되지 않습니다. – itowlson

+0

사실,하지만 요점은 중요하지 않다는 것입니다. 그들은 이미 사용하고있는 (독점적 인) 언어로 서비스 계층을 유지해야합니다 ... –

1

언급 된 언어 관련. PHP와 Ruby는 둘 다 Perl, Python 및 그 밖의 다른 언어와 같이 "스크립팅 언어"로 해석됩니다. PHP는 웹 개발에보다 집중적으로 초점을 맞추고 있습니다. 다른 것들은 범용 컴퓨팅을위한 것입니다.

.Net에 대해 PHP compiler이있는 것으로 보입니다. 그러나 현재 개발중인 것은 아닙니다. 이 사이트의 마지막 뉴스는 2008 년 3 월 12 일입니다. 저는이 경험이 전혀 없으며 실제로 PHP를별로 좋아하지 않습니다 (TBH).

IronRuby은 현재 v1.0 RC2에 있으며 Microsoft에서 적극적으로 개발 중입니다. 그것은 잘 작동하고 닷넷 프레임 워크와 행복하게 상호 작용합니다. 구문 론적으로 이것은 Ruby 1.8.x의 구현이며 광범위하게 사용되는 Ruby on Rails 웹 프레임 워크를 실행할 수있을 정도로 호환됩니다. 이는 Ruby 구현의 준수를 상당히 집중적으로 테스트합니다. C# 개발자의 관점에서, 메타 프로그래밍과 모든 것 -really-is-an-object는 가라 앉는 데 시간이 걸릴 수 있습니다.

Ruby에 인터페이스를 작성하도록 공급자에게 요청하는 것은 좋은 생각이 아닙니다. "Rubyish"스타일로 작성하는 것이 좋지 않은 투자 일 수 있습니다. 웹 API와 같은 것을 소비하는 것이 루비에게 매우 적합한 목적 일 것입니다. 루비는 C#보다 실행 속도가 느릴 것으로 예상합니다. 네트워크 지연과 같은 요소가있을 가능성이 큰 상황에서는별로 중요하지 않습니다. 총 경과 시간에 주요 기여자. 나는이 유형의 Ruby 앱이 만들고 유지 보수하는 것이 더 저렴하고 빠를 수있는 좋은 기회라고 생각한다.