나의 주된 일은 HTML 응용 프로그램을 만드는 것입니다. 즉, 내부적으로 편집 가능한 그리드 뷰, 텍스트 상자, 드롭 다운 등이 많은 CRUD 유형 응용 프로그램을 사용했습니다. 현재 ASP.NET 웹 양식을 사용하고 있습니다. 필요한 것을 얻기 위해 농구대를 뛰어 넘어야합니다. 천장에 매달리고 불을 Ho 후프.
따라서 모든 UI를 JavaScript 측으로 옮기는 것이 좋은 아이디어인지 궁금합니다. 우리의 요구에 맞게 특별히 설계된 강력한 재사용 가능한 컨트롤 세트를 개발하고 서버와 데이터를 교환하십시오. 예, 저는 "제어"(일명 "위젯") 패러다임이 마음에 듭니다.이 패러다임은 그러한 응용 프로그램에 매우 적합합니다. 따라서 서버 측에서는 현재 ASPX 마크 업과 비슷한 기본 레이아웃을 유지하지만 클라이언트에 한 번만 전송되며 Javascript 부분은 모든 후속 UI 업데이트를 처리합니다.
문제는 이전에이 작업을 수행 한 적이 없으며이 작업을 수행하는 사람을 본 적이 없기 때문에 문제가 무엇인지 모릅니다. 특히, 나는 걱정하고 있습니다 :
- 여전히 성능 . 벤치마킹은 AJAX 업데이트 후 브라우저가 대부분의 페이지를 다시 렌더링하려고 할 때 현재 주요 지연이 클라이언트 측에 있음을 보여줍니다. 생성 된 ASP.NET webforms 마크 업은 "web"이라는 단어에 새로운 의미를 부여하고 풍부한 Devexpress 컨트롤은 고유 한 Javascript 복잡성 계층을 추가합니다. 그러나 Javascript 측에서 필요한 모든 변경 사항을 다시 계산 한 다음 업데이트해야 할 항목 만 업데이트하는 것이 더 빠릅니까? 필자는 편집 가능한 그리드 뷰, 텍스트 상자가 많고 각 항목에 반 정도의 필터링 가능한 항목이있는 많은 드롭 다운이있는 양식에 대해 이야기하고 있습니다.
- 개발 용이성 . 이제 훨씬 더 많은 자바 스크립트가있을 것이며 아마도 페이지의 HTML 마크 업과 혼합 될 것입니다. 그 또는 어떤 종류의 새로운 뷰 엔진이 생성되어야합니다. Javascript 용 Intellisense도 C # 코드보다 훨씬 나쁩니다. Javascript의 동적 특성으로 인해 더 나아질 것으로 기대할 수 없습니다. 코딩 관행은 약간 향상시킬 수는 있지만 크게 향상시킬 수는 없습니다. 또한 대부분의 개발자는 주로 C # 개발자이므로 학습 곡선과 초기 실수가 있습니다.
- 보안 . 많은 보안 검사를 두 번 수행해야하고 (서버 측과 UI 측), 데이터 처리 서버 측에는 더 많은 보안 검사가 포함되어야합니다. 현재 서버 쪽에서 텍스트 상자를 읽기 전용으로 설정 한 경우 클라이언트 왕복을 통해 변경되지 않는 값에 의존 할 수 있습니다. 프레임 워크에는 이미 viewstate 암호화를 통해 충분한 코드가 있습니다. 데이터 전용 접근 방식을 사용하면 모든 것을 수동으로 확인해야하기 때문에 더 어려워집니다. 반면에 걱정할 데이터 만 있기 때문에 보안 취약점을 쉽게 발견 할 수 있습니다.
대체로 이것이 우리의 문제를 해결하거나 악화시킬 것인가? 아무도 이것을 시도한 적이 있으며 결과는 무엇입니까? 이런 종류의 노력에 도움이되는 프레임 워크가 있습니까 (jQuery 및 도덕적 등가물 제외)?
So on the server side we would still have a basic layout simliar to our current ASPX markup, but that then would get sent to the client only once, and the Javascript part would take care of all the subsequent UI updates.
ASP.NET이 무엇인지 정확하게 설명 하고 있으므로 올바르게 사용하고 있지 않을 수 있습니다. :) ASP.NET 응용 프로그램에서 업데이트 패널 내에 구성 요소를 배치하면 ASP.NET Javascript 라이브러리는 서버 측에 비동기 포스트 백을 수행하고 지정한 구성 요소 만 다시 렌더링합니다.