Góc hạt giống có phải là dự án trống rỗng trên thực tế để bắt đầu?


82

Sau khi được thuyết phục để tìm hiểu và sử dụng Angular.js, tôi sẽ bắt đầu một ứng dụng giao diện người dùng web cụ thể để khởi chạy bánh xe học tập trải nghiệm. (Ứng dụng sẽ là một số loại lập kế hoạch cá nhân, thực hiện danh sách, nhắc nhở, định hướng kỹ thuật pomodoro, v.v.)

Một trong những video hướng dẫn tôi đã xem của tác giả Angular là về các phương pháp hay nhất. Và một trong những cách tốt nhất là bắt đầu với angular-seeddự án.

Đó là những gì tôi sẽ làm, nhưng sau khi googling một chút, đã có ít nhất hai dự án khác được cho là điểm khởi đầu tốt:

  • angular-enterprise-seed
  • angular-sprout

Tôi mới bắt đầu, nhưng tôi thích đầu tư dài hạn. Tôi có nên lo lắng về việc sử dụng thứ gì khác angular-seedkhông? Tôi cảm thấy còn quá sớm để tự hỏi mình câu hỏi này, nhưng nếu đã có hai dự án khác, có lẽ có một số lý do chính đáng.


1
Tôi nghĩ rằng cuộc nói chuyện về 'phương pháp hay nhất' thiên về việc sử dụng các mẫu làm điểm xuất phát nói chung, chứ không phải về một số mẫu cụ thể. Có, angular-sproutcó một số ưu điểm, nhưng theo tôi, bạn có thể sử dụng angular-seedcho mục đích học tập là tốt.
raina77ow

Tôi đã chỉnh sửa để xóa từ templatekhỏi câu hỏi. Không, thực sự, tác giả nhấn mạnh vào việc sử dụng angle-seed như một khởi đầu, để xây dựng ứng dụng trên khung của nó (đó là lý do tại sao tôi sử dụng word template, không phải theo nghĩa html template). Cảm ơn vì đã chỉ ra điều đó.
Stephane Rolland

angular-seedsẽ hoạt động tốt. Nó thực sự là một vấn đề của sở thích cá nhân trong cách bạn muốn cấu trúc dự án của mình. Nếu tôi định đề xuất một công cụ để sử dụng nó sẽ là yeoman . Nó là tuyệt vời cho các dự án góc cạnh giàn giáo và hơn thế nữa ...
Jonathan Palumbo

1
Liên kết video hướng dẫn của bạn có thể bị hỏng.
JJ Zabkar

1
@JJZabkar đính chính, tệ quá, tối nay tôi mới thấy bình luận của bạn.
Stephane Rolland

Câu trả lời:


60

Tôi nhận thấy rằng mặc dù nhiều người sử dụng các dự án hạt giống khác nhau, nhưng điểm khởi đầu dễ dàng và nhất quán nhất cho một ứng dụng góc cạnh (hoặc bất kỳ ứng dụng web javascript nào) là Yeoman .

Ứng dụng này là một công cụ giàn giáo cho phép bạn chỉ định các trình tạo sẽ xây dựng nhân của ứng dụng của bạn, hoàn chỉnh với bất kỳ thư viện nào bạn muốn (thông qua bower ) và tệp xây dựng grunt đang hoạt động (hầu hết các trình tạo đều có sẵn tác vụ xây dựng, máy chủ nhiệm vụ chỉnh sửa trực tiếp và tác vụ thử nghiệm)

Mặc dù một ứng dụng như thế này nhất thiết phải có ý kiến, nhưng khung mà nó tạo ra vẫn rất chung chung.

thí dụ:

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

8
Tôi tin rằng dòng 3 ở trên nên được npm install generator-angular.
Ryan Tường

Và dòng 4: npm cài đặt máy phát điện-karma
Mattl

npm ERR! 404 'angle-maker' không có trong sổ đăng ký npm.
mortsahl

grunt serveđể xem nó trong trình duyệt
jacktrades

1
Tôi cũng đã phải cài đặt yo "NPM cài đặt --global yo"
moke

26

Tất cả chúng đều có giá trị khác nhau vì vậy nó phụ thuộc vào những gì bạn đang tìm kiếm để làm. Tôi đã viết góc cạnh-doanh nghiệp-hạt giống và có thể nói lên giá trị tương đối của nó.

  1. Nó là máy chủ bất khả tri. Điều này rất quan trọng vì nguyên lý cốt lõi của AngularJS và một trong nhiều điều làm cho nó hấp dẫn là nó tuân theo mô hình Client MVC. Điều này có nghĩa là nó được tách biệt hoàn toàn khỏi bất kỳ và tất cả các công nghệ máy chủ. Nhiều hạt giống hiện có liên kết AngularJS với các công nghệ máy chủ, chẳng hạn như góc cạnh (NodeJS) hoặc nướng-feta (Google App Engine / Java). Trong trường hợp của các dự án nói trên, nếu môi trường NodeJS và / hoặc Java chưa có trên hệ thống của bạn, thì bạn sẽ phải trải qua một vài vòng chỉ để xem hạt giống xuất hiện. Điều này có thể khiến các nhà phát triển PHP và Python xa lánh, dẫn đến hạn chế cộng đồng của dự án.

  2. Lên và chạy trong vài giây. Bởi vì nó là máy chủ bất khả tri, nó có thể được chạy trong bất kỳ vùng chứa nào (heck hệ thống tệp cho vấn đề đó). Phương pháp được đề xuất đang chạy "python -m SimpleHTTPServer" từ thư mục gốc - phương pháp này có nguồn gốc trên Mac và Linux nên không có bước bổ sung.

  3. Xem trước trực tiếp. Thật rẻ khi kiểm tra trạng thái của dự án vì phiên bản trực tiếp luôn được lưu trữ trên github . Bởi vì đó là máy chủ bất khả tri, điều này được thực hiện tự động bằng cách sao chép trang cái vào nhánh gh-pages từ công việc cron.

  4. Kiểu dáng phong phú. Nó bao gồm Twitter Bootstrap và tùy chỉnh / có thể xây dựng LESS ngoài hộp, cùng với Angular-UI, Angular-NG, phông chữ và vô số công cụ khác để cung cấp khả năng đáp ứng và tạo kiểu phong phú.

  5. Vật dụng. Giống như Angular-Seed và Angular-Sprout, Angular-Enterprise-Seed thể hiện cách bố trí, định tuyến, v.v. "thực tiễn tốt nhất", v.v. Nhưng nó cũng cung cấp một loạt các thành phần được tạo sẵn có thể được đưa ra khỏi kệ và sử dụng lại ngay lập tức. Điều này hơi khó thực hiện vì nó có thể đòi hỏi sự hội tụ của một số công nghệ. Ví dụ: để tạo ví dụ lưới, tôi đã kết hợp góc-ui, góc-ng, góc-js và kiểu jquery. Có các ví dụ thành phần cho các phương thức, phân trang, cảnh báo, lưới và hơn thế nữa.

Angular-seed là một bài tập học thuật tuyệt vời nếu bạn muốn tìm hiểu cách thức hoạt động của các mảnh ghép, nhưng nó sẽ khiến bạn khao khát có được một điểm nhảy quan trọng hơn.

Tôi đã không sử dụng góc cạnh nên tôi không thể nói về giá trị của nó. Có lẽ có một số chỗ để hợp nhất góc-mầm và góc-doanh nghiệp-hạt giống?


2
Nếu bạn muốn khớp nối máy chủ, hãy xem github.com/robertjchristian/service-nucleus , tích hợp góc-doanh nghiệp-hạt giống với netflix-karyon và thêm chức năng bổ sung. Sẵn sàng ra khỏi hộp để triển khai và chiến tranh. (Dựa trên Java, và bao gồm REST qua Jersey).
Robert Christian

1
cái này trông thực sự tốt như một cơ sở. Bạn đã cân nhắc việc tích hợp bower để dễ dàng thêm những thứ như góc-ui-bản đồ, v.v. chưa?
Baldy

1
@Baldy - Vâng, tôi muốn mời Bower tham gia dự án. Bạn đang tình nguyện? :)
Robert Christian

tiếc là không, tôi chuyển sang cái gì khác :)
Baldy

1
Bạn đã thuyết phục tôi với "phiên bản luôn mới được lưu trữ trên github" ... và sau đó liên kết được cung cấp: robertjchristian.github.io/angular-enterprise-seed/# trả về một trang trống.
cerd

18

Tôi nhận ra rằng đây là một câu hỏi cũ hơn, nhưng nó có vẻ có nhiều quan điểm, vì vậy, thật hợp lý khi đề xuất những gì gần đây đã trở thành một sự thay thế rất phổ biến cho cả Yeoman và angle-seed: ng-boilerplate . ng-boilerplate khác với angle-seed ở chỗ nó được thiết kế từ đầu cho các ứng dụng web sản xuất lớn và do đó theo tôi là một giải pháp tốt hơn angle-seed.

Để giải thích sự khác biệt giữa phương pháp khởi động ứng dụng của Yeoman và ng-boilerplate, tôi sẽ trích dẫn người tạo ra ngbp, Josh D. Miller :

Yeoman thật tuyệt vời. Nhưng vấn đề tôi gặp phải với các trình tạo cho AngularJS là chúng đóng gói theo lớp thay vì theo tính năng. Nếu chúng tôi lưu trữ tất cả bộ điều khiển trong thư mục "bộ điều khiển" và tất cả các dịch vụ trong thư mục "dịch vụ", v.v. và tất cả các thử nghiệm của chúng tôi ở một nơi nào đó hoàn toàn khác, thì việc sử dụng lại các thành phần của chúng tôi có thể khá khó khăn.

Đây cũng là cuộc thảo luận khá hay của Josh trên diễn đàn các vấn đề về máy tạo góc Yeoman, đi sâu hơn về việc thiết lập ng-boilerplate so với yeoman.


10

Chỉ cần nói rõ, Yeoman không phải là một máy phát điện. Yeoman là một định dạng / hệ thống để chế tạo máy phát điện. Có một số trình tạo được tạo bằng Yeoman mà bạn có thể sử dụng để tạo ứng dụng AngularJS. Mọi người thường gọi nhầm một trong số chúng là "máy phát điện Yeoman". Nhưng có rất nhiều. Bạn bối rối chưa? Yeoman không phải là hệ thống sản xuất máy phát điện duy nhất. Bữa nửa buổi là một bữa khác.

Để trả lời câu hỏi của bạn, đây là một so sánh song song rất toàn diện của nhiều trình tạo AngularJS mà người ta có thể sử dụng để bắt đầu tạo một ứng dụng web với AngularJS. Hiện tại, nó chứa hơn 200 khía cạnh khác nhau của những thứ này. Một trong số đó là phong cách tổ chức tệp. Vì vậy, bạn có thể dễ dàng xem cái nào sắp xếp các tệp theo tính năng nếu điều đó quan trọng với bạn. Đó là đối với tôi.

Vẫn còn một số trong số này sẽ được thêm vào. Hai được đề cập trong chủ đề này là mới đối với tôi. Nhưng so sánh này sẽ cung cấp cho bạn một ý tưởng tốt về các tùy chọn và cách chúng so sánh. Nó cũng có thể chỉnh sửa, vì vậy nếu bất kỳ ai trong số các bạn là chuyên gia về bất kỳ điều gì trong số này, hãy chia sẻ những gì bạn biết.

Chỉ có Chúa mới biết tại sao mọi người tiếp tục làm ra ngày càng nhiều những thứ này thay vì chỉ giúp cải thiện những thứ hiện có. Nếu bạn có bất kỳ phỏng đoán nào, tôi rất muốn được giải đáp bí ẩn đó.

CHỈNH SỬA: để có quyền truy cập vào tài liệu, tôi yêu cầu bạn hoàn thành bảng câu hỏi để chia sẻ kiến ​​thức của bạn về điều gì đó hoặc vận động các chuyên gia làm như vậy.

Vào đây để thực hiện một bảng câu hỏi: http://www.dancancro.com/technology-questionnaires/


9

Tôi cũng thích sử dụng Yeoman. Hãy thử những điều này để có được một giàn giáo tốt:

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

Chỉ cần lưu ý rằng máy phát điện này hiện đã khá cũ, vì vậy không chắc tôi sẽ giới thiệu nó nữa.
dmackerman,

Có nhưng hãy tìm một cái khác tại yeoman.io/generators . Tìm kiếm các góc / angular2
HankCa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.