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-seed
projektu.
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.
angular-sprout
ma pewne zalety, ale moim zdaniem można go używaćangular-seed
do celów edukacyjnych.template
z 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.angular-seed
powinno 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 ...Odpowiedzi:
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
źródło
npm install generator-angular
.grunt serve
aby zobaczyć to w przeglądarceWszystkie 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.
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.
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.
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.
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.
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?
źródło
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 :
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.
źródło
Ż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/
źródło
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
źródło