Czy angular-seed jest de facto pustym projektem na początek?

82

Po przekonaniu się do nauki i korzystania z Angular.js, zamierzałem uruchomić konkretną aplikację interfejsu internetowego, aby uruchomić koło uczenia się. (Aplikacja będzie czymś w rodzaju osobistego planowania, listy zadań, przypomnienia, techniki zorientowanej na pomodoro i tak dalej ...)

Jeden z filmów instruktażowych, które widziałem, autorstwa autora Angulara dotyczy najlepszych praktyk. Jedną z najlepszych praktyk jest rozpoczęcie angular-seedprojektu.

To właśnie zamierzałem zrobić, ale po trochę googlowaniu są już co najmniej dwa inne projekty, które twierdzą, że są dobrym punktem wyjścia:

  • angular-enterprise-seed
  • angular-sprout

Jestem początkującym, ale lubię inwestować długoterminowo. Czy powinienem się martwić użyciem czegoś innego niż angular-seed? Wydaje mi się, że jest za wcześnie, aby zadać sobie to pytanie, ale jeśli są już dwa inne projekty, może są dobre powody.

Stephane Rolland
źródło
1
Myślę, że mowa o „najlepszych praktykach” dotyczyła raczej używania szablonów jako punktu wyjścia w ogóle, a nie jakiegoś konkretnego szablonu. Tak, angular-sproutma pewne zalety, ale moim zdaniem można go używać angular-seeddo celów edukacyjnych.
raina77ow
Edytowałem, aby usunąć słowo templatez pytania. Nie, faktycznie autor nalegał na użycie angular-seed jako startu, aby zbudować aplikację na jego ramie (dlatego użyłem szablonu Word, a nie w sensie szablonu html). Dziękuję za zwrócenie uwagi.
Stephane Rolland
angular-seedpowinno działać dobrze. To naprawdę kwestia osobistych preferencji, w jaki sposób chcesz zorganizować swój projekt. Gdybym miał zasugerować narzędzie do użycia, byłby to yeoman . Świetnie nadaje się do projektów kątowych rusztowań i nie tylko ...
Jonathan Palumbo
1
Link do Twojego samouczka wideo może być uszkodzony.
JJ Zabkar
1
@JJZabkar poprawione, szkoda, że ​​widziałem tylko dzisiejszy komentarz.
Stephane Rolland

Odpowiedzi:

60

Odkryłem, że chociaż wiele osób korzysta z różnych projektów seed, najłatwiejszym i najbardziej spójnym punktem wyjścia dla aplikacji kątowej (lub dowolnej aplikacji internetowej javascript) jest Yeoman .

Ta aplikacja jest narzędziem rusztowania, które pozwala określić generatory, które zbuduje się jądra aplikacji, wraz z dowolnych bibliotek jest pragnienie (przez altana ) oraz pracujących grunt pliku kompilacji (większość generatorów przyjść akcji z build zadań, serwer zadanie do edycji na żywo i zadanie testowe)

Chociaż taka aplikacja jest z konieczności uparta, tworzone przez nią rusztowania są nadal bardzo ogólne.

przykład:

mkdir my-app
cd my-app
npm install generator-angular
npm install generator-karma
yo angular
ben schwartz
źródło
8
Uważam, że wiersz 3 powyżej powinien być npm install generator-angular.
Ryan Walls
I wiersz 4: npm install generator-karma
Mattl
npm ERR! 404 „Angular-generator” nie znajduje się w rejestrze npm.
mortsahl
grunt serveaby zobaczyć to w przeglądarce
jacktrades
1
Musiałem też zainstalować yo "npm install --global yo"
moke
26

Wszystkie mają różne zalety, więc zależy to od tego, co chcesz zrobić. Napisałem ziarno angular-enterprise-seed i mogę mówić o jego względnych zaletach.

  1. Jest niezależny od serwera. Jest to ważne, ponieważ podstawowym założeniem AngularJS i jedną z wielu rzeczy, które czynią go atrakcyjnym, jest to, że jest zgodny z paradygmatem Client MVC. Oznacza to, że jest całkowicie oddzielony od wszelkich technologii serwerowych. Wiele istniejących nasion wiąże AngularJS z technologiami serwerowymi, takimi jak angular -sprout (NodeJS) lub grillowana-feta (Google App Engine / Java). W przypadku wyżej wymienionych projektów, jeśli środowiska NodeJS i / lub Java nie są jeszcze w twoim systemie, będziesz musiał przejść przez kilka kółek, aby zobaczyć, jak pojawia się ziarno. Może to być alienujące dla programistów PHP i Python, co skutkuje ograniczeniem społeczności projektu.

  2. Gotowość do pracy w kilka sekund. Ponieważ jest niezależny od serwera, można go uruchomić w dowolnym kontenerze (do diabła z systemem plików). Sugerowana metoda polega na uruchomieniu „python -m SimpleHTTPServer” z katalogu głównego - jest to natywne rozwiązanie w systemach Mac i Linux, więc nie ma dodatkowych kroków.

  3. Podgląd na żywo. Sprawdzanie statusu projektu jest tanie, ponieważ wersja na żywo jest zawsze hostowana na githubie . Ponieważ jest to serwer agnostyczny, odbywa się to automatycznie poprzez kopiowanie mastera do gałęzi gh-pages z zadania cron.

  4. Bogata stylizacja. Zawiera Twitter Bootstrap i niestandardowy / możliwy do zbudowania MNIEJ po wyjęciu z pudełka, wraz z Angular-UI, Angular-NG, czcionkami i niezliczonymi innymi narzędziami zapewniającymi bogate możliwości stylizacji i responsywności.

  5. Widgety. Podobnie jak Angular-Seed i Angular-Sprout, Angular-Enterprise-Seed stanowi przykład rozmieszczenia, trasowania itp. „Najlepszych praktyk”, ale zapewnia również wiele gotowych komponentów, które można wyjąć z półki i natychmiast ponownie wykorzystać. Jest to trochę trudne, ponieważ może wymagać konwergencji kilku technologii. Na przykład, aby utworzyć przykład grid, połączyłem style angular-ui, angular-ng, angular-js i jquery. Istnieją przykłady komponentów dla modali, paginacji, alertów, siatek i innych.

Ziarno kątowe jest świetne jako ćwiczenie akademickie, jeśli chcesz dowiedzieć się, jak działają elementy, ale pozostawi ci tęsknotę za bardziej znaczącym punktem wyjścia.

Nie używałem kiełków kanciastych, więc nie mogę mówić o ich zaletach. Może jest miejsce na połączenie nasion kanciastych i kanciastych przedsiębiorstw?

Robert Christian
źródło
2
Jeśli chcesz połączyć serwer, odwiedź stronę github.com/robertjchristian/service-nucleus , która integruje angular -enterprise-seed z netflix-karyon i dodaje dodatkowe funkcje. Gotowy do użycia i wojny. (Oparte na Javie i obejmuje REST za pośrednictwem Jersey).
Robert Christian
1
to wygląda naprawdę dobrze jako podstawa. Czy zastanawiałeś się nad integracją altany, aby ułatwić dodawanie takich rzeczy, jak mapa kątowa itp.?
Baldy
1
@Baldy - Tak, chciałbym wstawić Bowera do projektu. Czy jesteś wolontariuszem? :)
Robert Christian
niestety nie, przeniosłem się na coś innego :)
Baldy
1
Przekonałeś mnie „zawsze świeżą wersją hostowaną na githubie” ... a następnie podany link: robertjchristian.github.io/angular-enterprise-seed/# zwraca pustą stronę.
cerd
18

Zdaję sobie sprawę, że jest to starsze pytanie, ale wydaje się, że ma sporą liczbę poglądów, więc warto polecić coś, co ostatnio stało się bardzo popularną alternatywą zarówno dla Yeoman, jak i angular-seed: ng-boilerplate . ng-boilerplate różni się od angular-seed tym, że został zaprojektowany od podstaw pod kątem dużych produkcyjnych aplikacji internetowych i dlatego jest moim zdaniem lepszym rozwiązaniem niż angular-seed.

Aby wyjaśnić różnice między metodami Yeoman i ng-boilerplate w uruchamianiu aplikacji, zacytuję twórcę ngbp, Josha D. Millera :

Yeoman jest niesamowity. Ale problem, który mam z generatorami dla AngularJS polega na tym, że pakują one według warstwy, a nie funkcji. Jeśli przechowujemy wszystkie kontrolery w folderze „controllers”, a wszystkie usługi w folderze „services” itd., A wszystkie nasze testy całkowicie w innym miejscu, ponowne użycie naszych komponentów może być dość trudne.

Jest to również niezła dyskusja Josha na forum poświęconym problemom z generatorem kątowym Yeoman, która zawiera więcej szczegółów dotyczących konfiguracji ng-boilerplate vs yeoman.

Mordred
źródło
10

Żeby było jasne, Yeoman nie jest generatorem. Yeoman to format / system do tworzenia generatorów. Istnieje kilka generatorów stworzonych w Yeoman, których możesz użyć do wygenerowania aplikacji AngularJS. Ludzie często błędnie określają jeden z nich jako „generator Yeoman”. Ale jest ich wiele. Zdezorientowany jeszcze? Yeoman nie jest jedynym systemem wytwarzania generatora. Drugie to brunch.

Aby odpowiedzieć na twoje pytanie, oto bardzo obszerne, równoległe porównanie wielu generatorów AngularJS, których można użyć do rozpoczęcia tworzenia aplikacji internetowej za pomocą AngularJS. Obecnie zawiera ponad 200 różnych aspektów tych rzeczy. Jednym z nich jest styl organizacji plików. Możesz więc łatwo sprawdzić, które z nich organizują pliki według funkcji, jeśli jest to dla Ciebie ważne. To jest dla mnie.

Pozostało jeszcze kilka z nich do dodania. Dwie wymienione w tym wątku są dla mnie nowe. Ale to porównanie powinno dać dobre wyobrażenie o opcjach i ich porównaniu. Jest również edytowalny, więc jeśli któryś z was jest ekspertem w którejkolwiek z tych rzeczy, nie krępuj się podzielić się tym, co wiesz.

Bóg jeden wie, dlaczego ludzie robią coraz więcej tych rzeczy, zamiast po prostu pomagać ulepszać istniejące. Jeśli masz jakieś domysły, chciałbym, żeby ta zagadka została rozwiązana.

EDYTUJ: aby uzyskać dostęp do dokumentu, proszę o wypełnienie kwestionariusza w celu podzielenia się swoją wiedzą na temat czegoś lub naciskać na ekspertów, aby to zrobili.

Przejdź tutaj, aby wypełnić kwestionariusz: http://www.dancancro.com/technology-questionnaires/

Dan Cancro
źródło
9

Lubię też używać Yeoman. Spróbuj tego, aby uzyskać dobre rusztowanie:

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
dmackerman
źródło
Zwróć uwagę, że ten generator jest teraz dość stary, więc nie jestem pewien, czy nie polecałbym go już.
dmackerman
Tak, ale znajdź inny na yeoman.io/generators . Wyszukaj angular / angular2
HankCa