2009-08-22 5 views
1

가끔 애플리케이션을보다 신속하고 신속하게 처리하기 위해 클라이언트 JS를 사용합니다.C# 서버 로직을 클라이언트 JS로 포팅하는 모범 사례?

JS에 C# 코드를 효과적으로 이식하는 모범 사례가 있습니까? 내 마음에 와서 상황은 다음과 같습니다
- 파라미터 설정 스크립트
- 생성하는 스크립트
- 동적 또는 정적 스크립트
연결 - 검증 전형적인 경우에 대한 일반적인 해결 방법을 설명합니다.
- 수정 사항 동기화,
- 논리를 이중화 할 때, 클라이언트 만 또는 서버 방식 만 사용할 때의 기준.

미리 감사드립니다. UPD. 나는 도구에 대해서가 아니라 패턴에 관해서는 물어 보았다. 나는 비트 단위로 글을 쓸 준비가되어 있지만 그러한 규칙이 존재한다면 일반적인 규칙에 관심을 기울여야한다.

답변

2

현재이 문제는 해결되지 않았습니다. 당신은 두 번 당신이 실버에서 응용 프로그램을 다시 작성할 수

  • 또는 ... (한 번 자바 스크립트와 서버의 두 번째 시간) (그래서 당신이 같은 클래스를 재사용 할 수 그것을해야 할 것 중 하나 당신이 실버에서 다시 작성하지 않으려는 경우 클라이언트 및 서버)

  • , 당신은 여전히 ​​HTML과 웹 브라우저 및 상호 운용성에 실버 라이트 플러그인을 사용하여 .NET 코드를 실행할 수 있지만 정말 악이고 아마도 느려질 수
  • 사용 script#에 C# 코드를 자바 스크립트로 변환하십시오 (지원되지 않음)
  • jsc (스크립트 #와 유사하지만 C# 대신 MSIL을 변환 함)
  • Volta (Microsoft의 GWT에 대한 대답)이지만 Silverlight가 Microsoft의 계획에 더 적합하기 때문에 죽은 것 같습니다.

많은 선택의 여지가 있지만 이러한 솔루션 중 어느 것도 충분하지 않고 문제가 발생하지 않고 구현하기가 까다로운 경우가 많습니다. 필요한 모든 비트를 손으로 클라이언트에 자바 스크립트를 작성하는 것이 좋습니다. 우리가 모두 "한 번만"규칙을 따르기를 원하기 때문에 이것이 답이 아니라는 것을 알고 있습니다. 그러나 언젠가는 불가능합니다.

+0

좋은 옵션이 많이 있습니다! – Chris

0

논리를 두 배로 할 때의 기준, 클라이언트 또는 서버 방식 만 사용해야하는 경우, 유효성 검사와 같은 작업을 위해이 작업을 수행합니다. 클라이언트에서 한 번만 수행하면 사용자가 즉각적인 피드백을 얻을 수 있지만 서버에서 안전하게 수행하고 자바 스크립트가없는 사용자도 수용 할 수 있습니다.

0

C# 코드를 JavaScript로 이식하는 방법 중 하나는 Script#을 사용하는 것입니다.이 코드는 C#과 JavaScript의 크로스 컴파일러입니다.

당신이 비즈니스 로직의 위험을 감수하면서 해킹 된 (즉, 누군가 JS 디버거를 사용하는 경우 건너 뛰기) 위험을 감수하면서 JavaScript에서 많은 비즈니스 논리를 갖는 팬이 아니라고 말했습니다. JavaScript가 꺼져 있으면 문제가 발생합니다.