source

구글 앵글JS 프레임워크 - 위험을 감수할 가치가 있습니까?

goodcode 2023. 3. 27. 23:02
반응형

구글 앵글JS 프레임워크 - 위험을 감수할 가치가 있습니까?

고객 중 한 명을 위해 작은 웹 애플리케이션을 만들어 달라는 요청을 받았는데, 웹 애플리케이션을 만들기 위한 다른 프레임워크를 시도해 볼 수 있는 좋은 기회라고 생각합니다.델이 구축한 어플리케이션의 대부분은 asp.net의 Web 폼에 근거하고 있어 MVC 아키텍처에서는 아직 아무것도 실시하지 않았지만, 적절한 툴을 사용해 보다 구조화된 방법으로 Web 어플리케이션을 구축해 나가고 싶다고 생각하고 있습니다.

저는 asp.net MVC 등 꽤 좋아 보이는 것들을 조사해 왔습니다만, Google Angular와 같은 것을 사용하는 것에 대해 뭔가 할 말이 있는지 궁금합니다.JS 프레임워크

가능하면 c#을 사용하여 서버 측 코드를 작성할 수 있고 Angular는 아직 조사하지 않았습니다.JS는 이것이 가능한지 알기에 충분하지만, 저는 웹 서비스를 이용할 수 있다고 생각합니다.

혹시 Angular를 이용한 앱 개발 경험이 있으신 분?JS, 그렇다면 어땠습니까? 튜토리얼을 위해 올바른 방향을 가르쳐 주시겠습니까?

Angular에서 Swing fat-client 어플리케이션의 포트를 개발하고 있습니다.JS는 지난 몇 달 동안 추천할 만한 가치가 있다고 생각합니다.학습자원에 관한 한 공식 프로젝트 사이트(자습서 참조)와 메일링 리스트(저자가 매우 도움이 됩니다)를 확인해 주세요.

좋은 점:

  • 뛰어난 시험성
  • 양방향 데이터 바인딩은 매우 강력한 기능으로, "구입"하면 매우 유용합니다.
  • IMO 더 앵글JS 템플릿은 데이터 속성 또는 "특수" CSS 클래스를 사용하여 무언가를 수행하는 요소를 표시하는 것보다 훨씬 덜 취약합니다.
  • 이 기능을 Angular에서 구현하면 jquery 플러그인을 사용할 필요성이 크게 줄어듭니다.JS는 매우 간단합니다(트리, 탭, 아코디언 등).

나쁜 점:

  • 학습곡선은 꽤 가파른 것 같다(큰 문제는 없었지만, 그것에 대해 어려움을 겪는 사람들을 본 적이 있다).
  • 각도에서의 검증당분간 JS는 최악입니다(새로운 구현이 진행 중입니다).
  • 모든 라이브러리/jquery 플러그인이 Angular와 잘 작동하는 것은 아니며, 보통 그것들을 포장해야 합니다.
  • API는 아직 다듬어지고 있기 때문에 변화를 기대하십시오(단, 잦은 출시와 매우 좋은 changelog는 큰 문제가 되지 않습니다).
  • 한 페이지에 수천 개의 바인딩까지 성능은 정상입니다.대부분 이것은 제한이 아니지만 문제가 될 수 있습니다.

몇 가지 포인터(Angular를 배우기로 결정한 경우)JS):

  • 어떤 사람들은 위젯을 너무 많이 사용해요.제 경험으로는 HTML "부분" + 서비스를 사용하고 위젯만 가끔 사용하는 것이 훨씬 좋습니다.
  • 라이브러리의 소스 코드를 읽습니다.각도에 대해 배울 수 있는 최적의 장소입니다.
  • 서비스/컨트롤러에서 DOM 조작 없음
  • 이벤트에 바인드하기 위해 css 클래스를 사용하는 경우 잘못하고 있습니다.

+1 @상대방의 답변

AngularJS는 클라이언트 측 프레임워크이므로 서버 상의 모든 언어를 사용할 수 있습니다.jQuery와 연동되도록 설계되어 테스트에 중점을 두고 있습니다.

다음은 도움이 될 수 있는 몇 가지 리소스입니다.

일부 앱 예시:

SenchaTouch용 어댑터: https://github.com/tigbro/sencha-touch-angular-adapter

jQ Mobile용 어댑터:https://github.com/tigbro/jquery-mobile-angular-adapter

메일링 리스트에 질문이 있으시면 언제든지 문의해 주세요!

우리는 아직 베타판이지만, 구글에는 이미 Angular에 의해 제공되는 몇 개의 내부 앱이 있다.JS.


업데이트 (2012년 7월 26일):

AngularJS v1.0이 출시되었습니다.

일부 공개용 AngularJS 기반 앱, http://builtwith.angularjs.org를 확인하십시오.

IMHO는, 서포트하기 어려운 고객을 위해서 무언가를 개발하는 것은 프로답지 않습니다.고객은 경험이 풍부한 Angular 전문가를 고용하거나 직원을 훈련시켜 "단계적 학습 곡선"을 오르는 것이 어렵다는 것을 명심해야 합니다.또, 지금까지의 서류는 그다지 훌륭하지 않습니다."Shinny Angular 앱을 클라이언트의 데이터베이스에 연결하는 방법"이라는 질문에 쉽게 대답할 수 있습니까?고객이 향후에 기존의 코드를 입수해, 장래의 잠재적인 요구에 맞추어 간단하게 조정할 수 있습니까?정직하라.

신뢰할 수 있는 일반 LAMP 개발을 Angular와 비교합니다."작은 웹 어플리케이션"을 위해서는 전문가가 고객에게 유지보수가 가능하고 간단한 무언가를 제공해야 한다고 생각합니다.

Angular가 쿨하지 않고 섹시하지 않은 것은 아니다.그러나 최신 프레임워크 유행과 더불어 고객의 미래 유지 보수성도 고려해야 합니다.가볍게 걷는 게 좋을 것 같아요.먼저 Angular와 함께 웹 사이트를 구축하고 신뢰할 수 있는 고객에게 멋진 새로운 스킬을 부여하기 전에 어떻게 생각하는지 확인하십시오.

몇 달 전에 이 SO 스레드를 읽고 같은 의문을 품은 기억이 납니다.그리고 우리는 AngularJS를 진행하기로 결정했습니다.이 프로젝트에서 지금까지 내린 결정 중 가장 좋은 결정입니다.

Angular를 사용하고 있습니다.JS + ASPNET MVC4 REST WebAPI.

이러한 훌륭한 클라이언트 측 Javascript MVC 프레임워크 이후 가장 프로발랄하게 서버 측에서는 비즈니스 로직 계층과 상호 작용하는 REST API 계층만 필요합니다.서버 측에서는 MVC가 필요 없습니다(ASP).NET MVC/봄/구조물은 추억처럼 느껴질 것이다.)

Angular-UI에 적합한 애드온(esp ng-grid)이 있습니다.

프로젝트가 종료된 직후에 오픈 소스 세계에 대해 작성한 지침을 일부 추가할 수 있습니다.

Angular의 장점을 연구해 왔습니다.JS는 제가 만들고 있는 제품의 핵심 프레임워크로 활용하기 위해 수개월 동안 사용됩니다.AJS에는 배울 가치가 있는 많은 측면이 있습니다.네, 약간의 학습 곡선이 있지만, 특히 클라이언트 측의 기능을 보다 효과적으로 제어하고 싶다면 그럴 가치가 충분히 있습니다.

JQuery는 런타임에 DOM을 조작하지만 AJS는 JS 렌더링 라이프 사이클 내에 배치됩니다.HTML 요소 및 속성을 작성하여 DOM에 새로운 트릭을 가르칠 수 있습니다.이건 아주, 아주 강력해따라서 목적과 필요에 따라 새로운 요소 동작을 도입할 수 있습니다.AJS에서는 이러한 커스텀HTML 속성/요소를 디렉티브라고 부릅니다.독자적인 Directives를 작성할 수 있기 때문에 현재 HTML에는 없는 기능을 구축할 수 있어 현재와 미래의 모든 최신 브라우저에서 실행할 수 있는 기능을 확장할 수 있습니다.새로운 행동을 유도하기 위한 많은 접근법 중 AJS는 이를 구현하기 위해 선택한 방법이기 때문에 가장 안전한 방향인 것으로 보입니다.

AJS에서는 JQuery보다 퍼포먼스가 크게 향상되었습니다.

쌍방향 데이터 바인딩의 심플함과 위에서 설명한 바와 같이 클라이언트 측 MVC 패턴에서의 우려의 분리는 뛰어난 테스트성을 제공합니다.범위 객체는 View(HTML), 모델(데이터), 커스텀 컨트롤러 간의 접착제입니다.범위를 통해 상위 특성에 액세스할 수 있으며 형제 수준에서 분리할 수 있습니다. 이는 일부 재사용 가능한 템플릿에서 중요합니다.

템플릿은 0개 이상의 커스텀 디렉티브를 포함할 수 있는 어플리케이션 전체에서 작성 및 재사용할 수 있습니다.

저는 PRISM과 MEF와 같은 프레임워크를 사용해 왔습니다만, AJS는 이러한 프레임워크에 존재하는 대부분의 동일한 기능을 가지고 있는 것을 알 수 있었습니다.29,000개의 설치 공간을 갖춘 NET 프레임워크.LOB 타입의 매우 흥미로운 기능을 제공할 수 있는, 느린 로딩에 임하고 있다는 소문도 있습니다.

AJS용으로 구축되고 있는 UI 프레임워크가 다수 있습니다만, 필요에 따라서 서드파티제 컨트롤 lib를 랩핑할 수 있습니다.이러한 서드파티제 제어에 변경이 생겼을 때 적용 방법을 사용하여 AJS에 적절히 통지되도록 하는 것이 중요합니다.

VS 2012 내에서 AJS와 MS TypeScript를 결합하면 VS 내에서 프로젝트에 더 익숙한 사용자에게 매우 인상적인 프로젝트를 관리하고 구축할 수 있습니다.

AJS를 검토해야 할 이유는 많지만 Knock과 같은 프레임워크를 고려하고 있다면학습곡선에 관계없이 AJS를 적극 추천합니다.녹아웃은 라이브러리, AJS는 프레임워크입니다.

지금까지 구글의 앵글은 훌륭하다고 생각한다.특히 데이터 바인딩 및 의존성 주입과 같은 것입니다.

다른 js 프레임워크에는 kno.js, backbone.js 등이 있습니다.다음은 몇 가지 게시물입니다.backbone.timeout/또는 kno.timeout의 angular.timeout 예시입니다.

이 투고는 오래되었고 Angular와 함께 하지 않았다는 것을 알지만, 나는 당신과 비슷한 배경을 가지고 있고, 질문을 할 때 당신과 같은 지점에 있습니다.

향후 방문자의 편의를 위해 "위험"의 일부와 제가 유용하다고 생각하는 자원에 대한 링크를 제공합니다.

  • 많은 사람들이 이미 언급했듯이, Angular는 매우 가파른 학습 곡선을 그릴 수 있습니다. "나뿐만 아니라 매우 똑똑한 개발자로 간주되는 동료들도 기본적인 개념에 어려움을 겪고 있습니다." AngularJS 대박... 그리고 지옥처럼 딱딱합니다(링크에는 당신이 요청한 튜토리얼 링크가 몇 개 있습니다).버전 2의 내용은 Java와 비슷합니다.C# 배경에는 문제가 되지 않습니다.내 생각에 디렉티브는 상세 주석 등이 없으면 이해하기 어렵습니다.
  • 각도 성능은 좋지 않을 수 있습니다. 특히 각도에서의 속도와 저속을 고려하여 많은 요소에서 ng-repeat을 사용할 경우 더욱 그렇습니다.JSScaylr의 경험.다른 사람들은 2000개 이상의 요소를 가진 앱이 좋은 앱이 아닐 수도 있다는 주장과 함께 성능이 정말로 저하된다고 언급했습니다.그러나 바인드된 개체가 많이 필요한 합법적인 사용 사례가 있는 경우 유의하십시오.
  • Angular는 기여자 면에서는 인기가 있지만, 실제 사용률 면에서는 jQuery에 크게 뒤처져 있습니다.Angular 개발자를 찾는 것은 어려울 수 있으며, jQuery 또는 변환하는 다른 개발자는 처리해야 할 "단계적 학습 곡선"이 있습니다.
  • Angular는 나이가 어리기 때문에 새로운 Angular 스킬을 채용할 수 있을 만큼 충분한 트랙션을 얻을 수 있다는 보장은 없습니다.또한 새로운 어플리케이션이 빠르게 레거시 코드가 되지 않을 수도 있습니다.
  • v1.2에서는 Angular는 IE7 이하를 지원하지 않으며 v1.3은 IE8을 폐기합니다.>=IE9의 경우 몇 가지 특별한 코딩 방법을 따라야 합니다.
  • 많은 Javascript 위젯, 플러그인, 라이브러리는 Angular에서 많은 수정을 하지 않으면 제대로 사용할 수 없습니다.또한 사람들은 Angular에서 컴포넌트를 다시 쓰라고 제안하기도 합니다.
  • 2014년 3월 업데이트: 2개월 동안 기능성이 뛰어나지 않은 1페이지 앱을 구축하려고 시도한 후:Angular에는 여러 가지 버전이 있는데 어느 것이 가장 좋은지 가장 안정적인지 말하기 어렵습니다.어떤 코드로 코딩하느냐에 따라 달라집니다.Angular에서 최신 버전으로 업그레이드하여 수정한 버그와 이전 버전으로 되돌림으로써 수정한 버그가 있습니다.jQuery에서 이렇게 버전 쇼핑을 할 필요는 없었어요.
  • 2014년 5월 업데이트: 젊고 파손된 공구.Batarang은 효과가 없을 때까지 훌륭하다.이걸 고쳐줄 때까지 믿을 수 없어

그리고 마지막으로, 제가 발견한 가장 좋은 3가지 정보원은

  • Todd Mooto의 궁극적인 가이드
  • 2014년 4월 업데이트: 이 eBook 장은 매우 훌륭합니다.나머지 책은 아직 사지 않았지만 콘셉트는 환상적이다.
  • Angular로 작성된 전체 중요하지 않은 앱(첨부된 책은 괜찮지만 사이트에서 광고된 것처럼 보여 중요하지 않은 앱에 대해 충분히 언급하지 않음)

나는 이것에 동의하고 그것을 하는 방법으로 John Papa의 핫타우엘 구현을 확인할 것이다.

언급URL : https://stackoverflow.com/questions/7650674/google-angularjs-framework-worth-the-risk

반응형