[angularjs] Angular-seed는 사실상 빈 프로젝트로 시작할까요?

Angular.js를 배우고 사용하도록 확신 한 후, 경험의 학습 휠을 시작하기 위해 구체적인 웹 UI 애플리케이션을 시작하려고했습니다. (이 앱은 일종의 개인 계획, 할 일 목록, 알림, 포모 도로 기술 중심 등이 될 것입니다 …)

Angular의 저자가 본 튜토리얼 비디오 중 하나는 모범 사례에 관한 것입니다. 모범 사례 중 하나는 angular-seed프로젝트 부터 시작하는 것 입니다.

그것이 내가하려고했던 일이지만, 인터넷 검색을 조금 한 후에 이미 좋은 출발점이라고 주장하는 적어도 두 개의 다른 프로젝트가 있습니다.

  • angular-enterprise-seed
  • angular-sprout

저는 초보자이지만 장기적으로 투자하는 것을 좋아합니다. 다른 것을 사용하는 것에 대해 걱정해야합니까 angular-seed? 이 질문을하기에는 너무 이르다고 생각하지만 이미 다른 프로젝트가 두 개 있다면 좋은 이유가있을 수 있습니다.



답변

많은 사람들이 다양한 시드 프로젝트를 사용하지만 각도 앱 (또는 모든 자바 스크립트 웹 앱)의 가장 쉽고 일관된 시작점은 Yeoman 입니다.

이 앱은 애플리케이션의 커널을 빌드 할 생성기를 지정할 수있게 해주는 스캐 폴딩 도구로, 원하는 라이브러리 ( bower 를 통해 )와 작동하는 grunt 빌드 파일 (대부분의 생성기는 빌드 작업, 서버와 함께 제공됩니다. 라이브 편집 및 테스트 작업)

이와 같은 앱은 필연적으로 의견이 많지만 그것이 생성하는 비계는 여전히 매우 일반적입니다.

예:

mkdir my-app
cd my-app
npm install generator-angular
npm install generator-karma
yo angular


답변

그들은 모두 다른 장점을 가지고 있으므로 무엇을 하려는지에 따라 다릅니다. 나는 angular-enterprise-seed를 썼고 그 상대적인 장점을 말할 수 있습니다.

  1. 서버에 구애받지 않습니다. AngularJS의 핵심 신조와이를 매력적으로 만드는 많은 요소 중 하나가 Client MVC 패러다임을 따르기 때문에 이것은 중요합니다. 즉, 모든 서버 기술에서 완전히 분리됩니다. 기존의 많은 시드는 AngularJS를 angular-sprout (NodeJS) 또는 grilled-feta (Google App Engine / Java) 와 같은 서버 기술에 연결합니다 . 앞서 언급 한 프로젝트의 경우 NodeJS 및 / 또는 Java 환경이 시스템에 아직없는 경우 시드가 나타나는지 확인하기 위해 여러 단계를 거쳐야합니다. 이것은 PHP 및 Python 개발자에게 소외되어 프로젝트 커뮤니티를 제한 할 수 있습니다.

  2. 몇 초 만에 설치 및 실행됩니다. 서버에 구애받지 않기 때문에 모든 컨테이너에서 실행할 수 있습니다 (파일 시스템을 확인하십시오). 제안 된 방법은 루트 디렉토리에서 “python -m SimpleHTTPServer”를 실행하는 것입니다. 이것은 Mac 및 Linux에서 기본 제공되므로 추가 단계가 없습니다.

  3. 실시간 미리보기. 라이브 버전은 항상 github에서 호스팅되기 때문에 프로젝트 상태를 확인하는 것이 저렴합니다 . 서버에 구애받지 않기 때문에 마스터를 크론 작업에서 gh-pages 분기로 복사하면 자동으로 수행됩니다.

  4. 풍부한 스타일링. 여기에는 Angular-UI, Angular-NG, 글꼴 및 풍부한 스타일링 및 응답 기능을 제공하는 수많은 기타 도구와 함께 Twitter Bootstrap 및 사용자 지정 / 빌드 가능한 LESS가 포함되어 있습니다.

  5. 위젯. Angular-Seed 및 Angular-Sprout과 마찬가지로 Angular-Enterprise-Seed는 “모범 사례”레이아웃, 라우팅 등의 예를 보여줍니다. 그러나 선반에서 꺼내 즉시 재사용 할 수있는 사전 구축 된 구성 요소도 제공합니다. 여러 기술의 융합이 필요할 수 있으므로 수행하기가 약간 어렵습니다. 예를 들어 그리드 예제를 생성하기 위해 angular-ui, angular-ng, angular-js 및 jquery 스타일링을 결합했습니다. 모달, 페이지 매김, 경고, 그리드 등에 대한 구성 요소 예제가 있습니다.

Angular-seed는 조각이 어떻게 작동하는지 배우고 싶다면 학문적 연습으로 훌륭하지만 더 실질적인 출발점을 갈망하게 만들 것입니다.

앵귤러 새싹을 사용하지 않아서 그 장점을 말할 수 없습니다. angular-sprout과 angular-enterprise-seed를 합칠 여지가 있습니까?


답변

나는 이것이 오래된 질문이라는 것을 알고 있지만 많은 견해를 가지고있는 것 같으므로 최근에 Yeoman과 angular-seed 모두에 대해 매우 인기있는 대안이 된 것을 추천하는 것이 합리적입니다 : ng-boilerplate . ng-boilerplate는 대규모 프로덕션 웹 앱을 위해 처음부터 설계되었으므로 angular-seed보다 더 나은 솔루션이라는 점에서 angular-seed와 다릅니다.

Yeoman과 ng-boilerplate 앱 킥 스타트 방법의 차이점을 설명하기 위해 ngbp의 제작자 인 Josh D. Miller를 인용하겠습니다 .

여만 굉장 해요. 그러나 AngularJS 생성기의 문제는 기능이 아닌 레이어별로 패키지된다는 것입니다. 모든 컨트롤러를 “controllers”폴더에 저장하고 모든 서비스를 “services”폴더 등에 저장하고 모든 테스트를 완전히 다른 위치에 저장하면 구성 요소를 재사용하는 것이 매우 어려울 수 있습니다.

이것은 또한 Yeoman angular-generator 문제 포럼에서 Josh가 ng-boilerplate와 yeoman의 설정에 대해 더 깊이 논의한 꽤 좋은 토론 입니다.


답변

분명히 말하면 여만은 발전기가 아닙니다. Yeoman은 발전기를 만들기위한 형식 / 시스템입니다. AngularJS 애플리케이션을 생성하는 데 사용할 수있는 Yeoman으로 만든 여러 생성기가 있습니다. 사람들은 종종 그들 중 하나 또는 다른 것을 “”Yeoman 생성기로 잘못 언급합니다. 그러나 많은 것이 있습니다. 아직 헷갈 리 시나요? 여만이 발전기 제조 시스템 만있는 것은 아닙니다. 브런치는 또 다른 것입니다.

귀하의 질문에 대답하기 위해, 여기에 하나가 AngularJS와 가진 웹 응용 프로그램을 시작하는 데 사용할 수있는 많은 AngularJS와 발전기의 매우 포괄적 나란히 비교입니다. 현재 여기에는 200 개가 넘는 다양한 측면이 포함되어 있습니다. 그중 하나는 파일 구성 스타일입니다. 따라서 중요한 경우 기능별로 파일을 구성하는 파일을 쉽게 확인할 수 있습니다. 나에게있다.

아직 몇 가지 추가 할 항목이 남아 있습니다. 이 스레드에서 언급 된 두 가지는 저에게 새로운 것입니다. 그러나이 비교는 옵션과 비교 방법에 대한 좋은 아이디어를 제공합니다. 편집도 가능하므로 이러한 분야의 전문가가 있다면 알고있는 내용을 자유롭게 공유 할 수 있습니다.

하나님은 사람들이 기존의 것들을 개선하는 데 도움을주지 않고 계속해서 이러한 것들을 계속 만드는 이유 만 아십니다. 추측이 있다면 그 수수께끼를 풀고 싶습니다.

편집 : 문서에 액세스하려면 설문지를 작성하여 지식을 공유하거나 전문가에게 로비를 요청합니다.

설문지를 작성하려면 여기로 이동하십시오.
http://www.dancancro.com/technology-questionnaires/


답변

여만도 좋아해요. 좋은 비계를 얻으려면 다음을 시도하십시오.

npm install -g generator-angular  # install generator
yo angular                        # scaffold out a AngularJS project
bower install angular-ui          # install a dependency for your project from Bower
grunt test                        # test your app
grunt server                      # preview your app
grunt                             # build the application for deployment


답변