programing

Google AngularJS 프레임 워크-위험할만한 가치가 있습니까?

nasanasas 2020. 11. 16. 21:36
반응형

Google AngularJS 프레임 워크-위험할만한 가치가 있습니까?


저는 클라이언트 중 하나를위한 작은 웹 애플리케이션을 구축해 달라는 요청을 받았으며 웹 애플리케이션 구축을위한 다른 프레임 워크를 사용해볼 수있는 좋은 기회라고 생각합니다. 우리가 구축하는 대부분의 응용 프로그램은 asp.net 웹 양식을 기반으로하며 아직 MVC 아키텍처에서 아무 작업도 수행하지 않았지만 올바른 도구를 사용하여보다 구조화 된 방식으로 웹 응용 프로그램을 구축하고 싶습니다.

나는 asp.net MVC와 같은 것을 연구 해 왔지만 꽤 좋아 보이는 것을 찾았지만 Google AngularJS Framework와 같은 것을 사용하는 것에 대해 말할 것이 있는지 궁금합니다.

가능하다면 여전히 C #을 사용하여 서버 측 코드를 작성할 수 있기를 원하며 웹 서비스를 사용할 수 있다고 가정하지만 이것이 가능할지 여부를 알만큼 AngularJS를 충분히 조사하지 않았습니다.

AngularJS를 사용하여 앱을 개발 한 경험이있는 사람이 있습니까? 그렇다면 어땠습니까? 튜토리얼에 대한 올바른 방향을 알려줄 수 있습니까?


우리는 지난 몇 달 동안 AngularJS에서 Swing fat-client 애플리케이션의 포트를 개발해 왔으며 추천할만한 가치가 있다고 생각합니다. 학습 자료에 관한 한, 공식 프로젝트 사이트 (그리고 튜토리얼을 반드시 읽어보십시오)와 메일 링리스트 (저자는 매우 도움이됩니다)를 확인하십시오.

좋은 점 :

  • 뛰어난 테스트 가능성
  • 양방향 데이터 바인딩은 매우 강력한 기능이며 일단 "얻으면"매우 유용 할 수 있습니다.
  • IMO AngularJS 템플릿은 데이터 속성 또는 "특별한"CSS 클래스를 사용하여 무언가를 수행하는 요소를 표시하는 것보다 훨씬 덜 취약합니다.
  • AngularJS에서 해당 기능을 구현하는 것이 매우 쉽기 때문에 jquery 플러그인을 사용할 필요가 크게 줄어 듭니다 (트리, 탭, 아코디언 등과 같은 것).

나쁜 것 :

  • 학습 곡선이 상당히 가파른 것 같습니다 (별로 문제가 없었지만 일부 사람들이 어려움을 겪는 것을 보았습니다)
  • AngularJS의 유효성 검사는 당분간 좋지 않습니다 (새로운 구현이 진행 중입니다)
  • 모든 라이브러리 / jquery 플러그인이 Angular에서 잘 작동하는 것은 아니며 일반적으로 래핑해야합니다.
  • API는 여전히 다듬어지고 있으므로 주요 변경 사항을 기대하십시오 (빈번한 릴리스와 매우 좋은 변경 로그에는 큰 문제가 아닙니다).
  • 성능은 페이지에 수천 개의 바인딩까지 정상입니다. 대부분의 경우 이것은 제한이 아니지만 이것이 문제가 될 수있는 경우가 있습니다.

몇 가지 지침 (AngularJS를 배우기로 결정한 경우) :

  • 어떤 사람들은 정말 위젯을 남용합니다. 내 경험상 HTML "부분"+ 서비스를 사용하고 위젯 만 산발적으로 사용하는 것이 훨씬 낫습니다.
  • 라이브러리의 소스 코드 읽기-각도에 대한 정보를 배우기에 가장 좋은 곳입니다.
  • 서비스 / 컨트롤러에서 DOM 조작 없음
  • css 클래스를 사용하여 이벤트에 바인딩하면 잘못하고 있습니다.

@psycho의 답변 +1

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

다음은 유용 할 수있는 몇 가지 리소스입니다.

몇 가지 예제 앱 :

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

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

메일 링리스트에 질문이 있으시면 언제든지 문의 하십시오 !

아직 베타 버전이지만 AngularJS 기반의 Google 내부 앱이 이미 여러 개 있습니다.


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

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

일부 공용 AngularJS 기반 앱의 경우 http://builtwith.angularjs.org를 확인하세요.


IMHO가 지원하기 어려울 수있는 클라이언트를 위해 무언가를 개발하는 것은 전문가가 아닙니다. 고객이 숙련 된 Angular 전문가를 고용하거나 자신의 직원이 "가파른 학습 곡선"을 오르도록 교육하는 것은 어렵다는 점을 명심해야합니다. 또한 지금까지 문서는 그다지 좋지 않습니다. 잠시 후 "내 빛나는 Angular 앱을 클라이언트의 데이터베이스에 어떻게 연결할 수 있습니까?"라는 질문에 쉽게 대답 할 수 있습니다. 당신의 클라이언트가 미래의 언젠가 쉽게 기존 코드를 가져와 잠재적 인 미래 요구에 맞게 조정할 수 있습니까? 솔직 해지세요.

평범하고 신뢰할 수있는 LAMP 개발을 Angular와 비교합니다. "작은 웹 응용 프로그램"의 경우 전문가는 자신의 클라이언트에게 유지 관리가 가능하고 간단한 것을 제공해야한다고 믿습니다.

Angular가 멋지고 섹시하지 않다고 말하는 것은 아닙니다.하지만 최신 프레임 워크 유행에 더해 고객의 미래 유지 관리 가능성을 생각해야합니다. 가볍게 밟는 것이 제 추천입니다. 먼저 Angular로 자신의 웹 사이트를 구축하고 신뢰할 수있는 클라이언트에게 멋진 새 기술을 부여하기 전에 생각하는 것을 확인하십시오.


나는 몇 달 전에 같은 질문 으로이 SO 스레드를 읽은 것을 기억하며 AngularJS로 진행하기로 결정했으며이 프로젝트에서 우리가 내린 최선의 결정을 내 렸습니다.

AngularJS + ASP.NET MVC4 REST WebAPI를 사용하고 있습니다.

이러한 멋진 클라이언트 측 Javascript MVC 프레임 워크 이후에는 서버 측에서 Business Logic Layer와 상호 작용하는 REST API 계층 만 필요하고 서버 측에서는 MVC가 필요하지 않습니다 (ASP.NET MVC / Spring / Structs는 오래된 추억처럼 느껴질 것입니다).

You will find Angular-UI good add-on (esp ng-grid)

Soon after our project finishes, we might put some of our directive we wrote for open source world.


I have been researching the merits of AngularJS for many months to utilize as a core framework for product I am creating. There are many aspects of AJS that make it worth while to learn. Yes there is a bit of a learning curve but its well worth it, especially if you wish to have more control on client side capability.

JQuery manipulates the DOM at run time, whereas AJS situates itself within the JS rendering lifecycle. This allows you to teach the DOM new tricks by creating your HTML Elements and Attributes. This is very, very powerful. As what you are able to do is introduce new Element behaviors for whatever your purpose and need. In AJS these custom HTML Attributes/Elements are called Directives. With the ability to craft your own Directives, you are able to build functionality that the current HTML doesn't have, pushing out capabilities that will run on all modern browsers now and into the future. Of the many approaches to inducing new behavior, AJS appears to be the safest direction one could take due to how they have chosen to implement it.

There is a huge performance gain over JQuery in AJS.

I love the simplicity of the two-way data binding, and the separation of concerns in their client side MVC pattern, which as pointed out above provide great testability. There scope object is the glue between the View (HTML), the Model (your Data) and your custom Controllers. The scope provides access to parent attributes and can be isolated at the sibling level, which is important for some reusable templates.

Templates can created and reused across your application which can contain 0 or more custom directives.

I have been using frameworks such as PRISM and MEF but I am finding that AJS has most of the same features that exist in these .NET frameworks but in a 29K footprint. There is rumors that they are working on lazy-loading which if provided will provide for some very interesting LOB type capabilities.

There are a number of UI frameworks that are being built for AJS but you can wrap any 3rd party control lib as needed, given a bit of effort. The trick is to ensure that when these 3rd party controls have changes induced, that you ensure AJS is properly notified using their apply method.

If you combine AJS with MS TypeScript within VS 2012, it provides the ability to manage and build some very impressive projects which will work well for those who are more comfortable with projects within VS.

There are a ton of other reasons to look at AJS, but if you are considering frameworks such as KnockOut I'd highly recommend AJS instead, regardless of it's perceived learning curve. Knockout is a library, AJS is a framework.


So far i think Google's Angular is great. Particular like the databinding and dependency injection.

For other js framework, there are knockout.js , backbone.js etc. here are some posts: angular.js example in backbone.js and/or knockout.js


I realise this post is old and you haven't gone with Angular, but I have a similar background to you, and I'm at the same point as you when asking the question.

So for the benefit of future visitors, some of the "risks" and links to resources I've found useful...

  • As many have already mentioned, Angular can have a very steep learning curve "Not only me, but co-workers that I consider highly smart developers, have struggled with some of the basic concepts" AngularJS is amazing... and hard as hell (link also has some good tutorial links which you asked for), and the version 2 stuff is looking more like java, which wouldn't have been a problem with your C# background, in my opinion Directives are hard enough to understand without verbose annotations and so on.
  • Angular performance can be poor in some cases, especially when using ng-repeat on a large number of elements Considering Speed and Slowness in AngularJS and Scaylr's experience. Other's have mentioned that performance really degrades over ~2000 bound elements, but that's usually met with arguments about how any app with more than that many elements probably isn't a good app. Keep it in mind though if you have legitimate use cases which call for many bound objects.
  • Angular is popular in terms of contributors, but ranks way way behind, say, jQuery in terms of production usage. Finding Angular developers might be tough, and jQuery or other developers converting have that "steep learning curve" to deal with.
  • Because Angular is young, you have no guarantee that it'll gain enough traction for your new Angular skills to be employable, and your new application not to quickly become legacy code
  • In v1.2 Angular doesn't support IE7 and below and v1.3 will drop IE8. For >=IE9, you need to follow some special coding practices.
  • The many javascript widgets, plugins and libraries which you might be used to using can't be used properly with Angular without heavy modification and people often suggest to re-write your component in Angular anyway.
  • UPDATE March 2014: after 2 months attempting to build a non-trivial densely functional one page app: There are many versions of Angular, and it's hard to say which is the best or most stable. It will depend on what you're coding with it. I'm finding some bugs Angular that are fixed by upgrading to a later version and others fixed by regressing to an earlier one. I've never had to go version shopping like this with jQuery.
  • UPDATE May 2014: Young, broken tools. Batarang is great until it doesn't work. I can't trust it until they fix this one.

And finally, the three best resources I've found for learning this stuff


I would say yes to this and check out John Papa's hottowel implementation as a way to do it.

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

반응형