2017-09-15 5 views
14

저의 팀과 저는 엔터프라이즈 수준의 웹 응용 프로그램 개발을 시작하기 위해 자금을 지원 받았습니다 (자세한 내용은 다루지 않습니다). 응용 프로그램에는 많은 별도의 웹 페이지가 있지만 그 중 두 페이지는 많은 사용자 상호 작용 에서처럼 더 집중적이고 매우 무겁습니다. 대량 데이터를 표시하는 모달, 웹 소켓 연결, 채팅 등ASP.NET 코어 2.0 면도기/각도/반응/기타

할당되었습니다. 프로젝트의 수석 건축가에게 최신 웹 프레임 워크에 대한 연구를하고 있습니다. 백 엔드를 위해 우리는 몇 가지 테스트를 수행했으며 Azure SQL 플랫폼을 사용하기로 결정했습니다. 지금까지 Core 2.0을 사용하여 ASP.NET에 대한 개선이 이루어졌으며 지금 진행되고 있습니다. 특히 ASP.NET MVC의 이전 버전에 비해 면도기 엔진.

"새로운"Razor vs. Angular/React 등의 전문가 의견을 듣고 싶었습니다. 나는 특히 연주에 더 관심이있다. Core 2.0 Razor는 클라이언트 측 렌더링 프레임 워크를 어떻게 잡아 먹습니까? 차이점은 무시할만한 수준입니까? Google의 앱은 잠재적 인 1,000,000 명의 사용자 (약 10 만명)를 목표로합니다.

미리 감사드립니다.

+0

"범프"가 SO에서 작동합니까? – user2777664

+0

"* new Razor *"는 면도기 페이지를 의미합니까? – Werner

+6

결국 어느 쪽을 선택하셨습니까? – stt106

답변

0

내 두 펜스 - 코어 및 면도기 페이지를 사용한 경험으로 커다란 프로젝트에 사용하지 않을 것입니다. 코어 예,하지만 면도 페이지가 아니기 때문에, 다시 생각해 보면, 나는 MVC 디자인 패턴을 선호합니다. 나는 많은 페이지를 추측하고 있으며 면도기 페이지, 페이지 폴더에서 돌보는 것이 번거로울 것입니다.

+0

나는 면도날에 관한 새로운 면도날에 대해서 말하고있는 것이 아닙니다. 면도날뿐입니다. – user2777664

+0

아, 네가 새로운 면도기에 무슨 의미인지 생각해. – PurpleSmurph

6

각도 사용하여/서버 측에서 API와 반응 :

  • 는 서버 측에서 HTML을 생성하는 과정을 제거하고 CPU가
  • API는 작은 페이로드 (JSON) 및 면도기 (HTML)를 생산하고 저장 코스는 크기가 훨씬 커지고, 전체 페이지를 일정하게 리로드하며, 왕복 왕복 이동을 다시 할 수 있습니다. 그래서 대역폭
  • API와 스파 저장 API와 스파가 너무 모바일 앱을 지원할 수있는 API를 사용하여 시나리오
  • 스케일링 및 배포, 다른 버전을 가질 수 있고 당신이 면도기로 시작하면 당신은 미래
의 API를해야 할 수도 있습니다

하지만 Angular/React를 사용하면 클라이언트에 대해 걱정해야합니다.

  • 클라이언트는
  • 클라이언트가 충분히 강력한 하드웨어를
  • SEO
+0

두 프레임 워크의 차이점을 이해합니다. 성능에 더 관심이있었습니다. – user2777664

+0

동일한 pipline이 두 가지 모두 존재하지만 면도기 페이지에 대한 벤치 마크는 없습니다. 이 링크는 도움이 될 수 있습니다 - [ASP.NET Razor Pages vs MVC : 도구 상자에서 면도기 페이지가 어떻게 적합합니까?] (https://stackify.com/asp-net-razor-pages-vs-mvc/) –

2

내가이없는 벤치 마크가 있어야합니다 자바 스크립트

  • 클라이언트가 최신 브라우저가 있어야 사용하도록 설정해야합니다. 그러나 JQuery, Razor, .NET MVC (C#), AJAX를 실행하는 여러 프로젝트가 있습니다. 너의 태클에 맞춰서는 안된다.

    조언 ... 모범 사례를 통해 생각하고 따라야합니다. 관리가 용이하도록 컨트롤러, 뷰, 모델을 작고 의미있는 그룹으로 나누십시오. 처음 시작했을 때 모든 것을 하나의 홈 컨트롤러에 넣는 실수를했고 공유 폴더에 많은 수의 뷰를 만들었습니다. 처음에는 괜찮 았지만 기능의 크리프가 시작되면 뒤죽박죽이되어 다시 디자인하기가 어려웠습니다.

    또한 Linq2SQL을 사용하여 모든 모델을 만드는 실수를 한 다음 모델로 내 쿼리에서 결과 집합을 반환 할 수 있다는 것을 깨달았습니다. 이런.당신이 .NET MVC를 이동 및 성능이 걱정되는 경우

    , 이들은 DONT는 HTML의 큰 블록을 만들 부분 뷰를 반환 내가 ..

    으로 실행 된 것입니다! 모든 것을 최소화하십시오. 모든 공백을 제거하십시오. 더 작은 ID 이름을 사용하십시오. 가능한 한 가벼운 html을 만드는 시간을 가지십시오. JSON을 반환하고 클라이언트가 일부 작업을 수행하도록합니다.

    CSS 개발 방법에주의하십시오. 일련의 인라인 스타일을 사용하지 말고 나중에 최소화 할 수있는 CSS 파일에 통합 할 시간을 가져라.

    동일한 클라이언트 측 JS에 해당됩니다. 그것의 유혹은 부분보기 안에 JS 넣으려고. 모든 일들을 정리하십시오.

    IE에서의 렌더링은 끔찍합니다. 특히 이미지가 많은 경우. 물론 이미지 품질을 떨어 뜨리지 않고 최대한 압축하십시오.

  • 관련 문제