네이버 박재성
                        2015.4.29
                        
                    
 
                    2009년 Miško Hevery의 개인 프로젝트로 시작.
                        처음 개발시 웹 개발자를 대상으로 하지 않았고,
                        개발은 모르지만 HTML은 이해하는
                        디자이너와 같은 사람들을 대상으로 함.
                    
첫 AngularJS 프로젝트 : Google Feedback
| 기간 | LOC | |
|---|---|---|
| GWT | 3명 x 6개월 = 18MM | 17,000 | 
| AngularJS | 1명 x 3주 = 0.75MM | 1,000 | 
 
                     https://www.dice.com/jobs?q=angularjs
                    
                        https://www.dice.com/jobs?q=angularjs 
                     http://www.jobkorea.co.kr/sm/search.asp?stext=angularjs
                    
                        http://www.jobkorea.co.kr/sm/search.asp?stext=angularjs

컴파일은 DOM트리를 순회하면서 지시를 찾아 매칭하고(Compile 과정), 이후 지시자와 스코프를 결합(Link 과정)해 모델의 변경을 뷰에 출력하는 일련의 처리 작업을 의미
 
                 
                | 구분 | 종류 | 크기(byte) | Total(byte) | 
|---|---|---|---|
| DOM 제어(Jindo) | HTML | 1,164 | 4,951 (100%) | 
| JavaScript | 3,787 | ||
| AngularJS | HTML | 2,059 | 3,161 (63.84%) | 
| JavaScript | 1,102 | 
← click to refresh →
                         
                         
                    

“Angular is mostly being used by people from a Java background because its coding style is aimed at them. Unfortunately they aren’t trained to recognise Angular’s performance problems.”
Angular 2.0 - “I don’t think Angular will survive the rewrite.”

100개 목록 데이터가 HTML에 포함되어 처리되는 경우
← click to refresh →
데이터 편차에 따른 처리 속도
One-Way Data Binding vs. Two-Way Data Binding
<body ng-app="myApp">
    <div ng-controller="myControllerList">
    <ul>
    <li ng-repeat="fruit in fruits">
    <span>{{fruit.name}}</span> / <span>{{fruit.qty}}</span>
    </li>
    </ul>
    <button onclick="location.reload()">reload</button>
    </div>
    <script type="text/javascript" src="https://code.angularjs.org/1.3.8/angular.min.js"></script>
    <script type="text/javascript">
    angular.module("myApp",[])
    .controller("myControllerList", function($scope) {
    $scope.fruits = [
    { name: '메론', qty: 9 },
    { name: '망고', qty: 3 },
    { name: '바나나', qty: 1 }
    ];
    });
    </script>
    </body>양방향 데이터 바인딩을 위해 모델로 지정된 요소에
여래 개의 이벤트가 바인딩 된다.
“Google does not use Angular in production for their flag apps like Gmail or Gplus.”
 
                muchas gracias