Patrzymy na opcje budowy frontonu aplikacji, którą tworzymy, i próbujemy ocenić narzędzie, które będzie dla nas działać i dać nam najlepszą platformę do dalszego rozwoju.
To jest projekt Node.js. Naszym pierwotnym planem było użycie ekspresu i zejście tą drogą, ale zdecydowaliśmy, że zanim rozpoczniemy ten etap, najlepiej sprawdzić, co tam jest. Nasza aplikacja ma kilka obszarów, które naszym zdaniem nie pasują do modelu jednostronicowego, ponieważ są powiązane z perspektywy aplikacji, ale nie z widoku.
Widzieliśmy kilka frameworków, których moglibyśmy użyć do zbudowania klienta, takich jak Backbone.js , Meteor itp., A także AngularJS.
To może być dość oczywiste pytanie, ale nie możemy rozszyfrować, czy AngularJS jest przeznaczony wyłącznie do aplikacji jednostronicowych, czy może być używany do aplikacji wielostronicowych, takich jak na przykład Express.
AKTUALIZACJA 17 lipca 2013 Aby utrzymać ludzi w pętli, będę aktualizować to pytanie, gdy będziemy przechodzić proces. Na razie zbudujemy wszystko razem i przekonamy się, jak dobrze to działa. Dotarliśmy do kilku osób, które są bardziej wykwalifikowane w AngularJS niż my, i zadaliśmy pytanie dotyczące podziału większych aplikacji, które współużytkują kontekst, ale mogą być zbyt duże, pracując na jednej stronie.
Konsensus był taki, że moglibyśmy obsługiwać wiele stron statycznych i tworzyć aplikacje AngularJS, które działają tylko z tymi stronami, skutecznie tworząc kolekcję SPA i łącząc te aplikacje razem za pomocą standardowego linkowania. Teraz nasz przypadek użycia jest bardzo specyficzny, ponieważ nasze rozwiązanie ma kilka aplikacji, i jak powiedziałem, najpierw wypróbujemy jedną bazę kodu i stamtąd zoptymalizujemy.
AKTUALIZACJA 18 czerwca 2016 Projekt upadł z urwiska, więc nigdy nie zajęliśmy się zbytnią pracą. Niedawno podnieśliśmy go, ale nie używamy już kątów i zamiast tego używamy React. Nadal korzystamy z architektury przedstawionej w poprzedniej aktualizacji, w której używamy aplikacji ekspresowych i samoobsługowych, więc na przykład mamy /chat
ekspresową trasę, która obsługuje naszą aplikację React, mamy inną trasę, /projects
która obsługuje aplikację projektów i wkrótce. W pewnym sensie patrzymy na to, że każda aplikacja jest zagregowanym katalogiem głównym pod względem zestawu funkcji, musi ona być samodzielna, aby mogła być uważana za samą aplikację. Z technicznego punktu widzenia wszystkie informacje są dostępne, są to tylko podstawowe informacje ekspresowe i jakikolwiek smak dobrodziejstw aplikacji po stronie klienta, których chcesz użyć.