2012-08-29 13 views
7

Co próbuję zrobić, to zbudować prostą aplikację w PhoneGap i Backbone.js. Aplikacja posiada stronę logowania, która po udanym logowaniu wysyła użytkownika do prostego menu z kilkoma opcjami. Użytkownik ma możliwość przeglądania swoich zapisanych list, przeglądania listy przedmiotów lub przeglądania strony z informacjami. Wiem, jak chcę uporządkować wszystkie widoki i modele, więc pytanie, które mam, dotyczy tego, czy robi to wszystko na jednej stronie ma jakieś wady w porównaniu do używania wielu stron.Backbone.js i PhoneGap, pojedyncza lub wielostronicowa?

rozbicie go na mniejsze części:

  1. Czy ładuje wszystkie JavaScript w jedną stronę mają poważne implikacje wydajności?
  2. Jeśli router zamknie się, .remove() i .unbind(), cały bieżący widok przy przejściu do nowego widoku, czy nadal ryzykuję problemy z pamięcią?

Odpowiedz

6

Szkielet został zaprojektowany do budowy aplikacji SPA. Nie twierdzę, że nie można podzielić Szkieletu na wiele stron, ale moim zdaniem to bardziej skomplikowane. Z Twojego opisu chciałbym zachować twoją aplikację jako SPA.

Po drugie, skompiluj aplikację za pomocą modułów. Użyj biblioteki, na przykład require.js. Nie mogłem tego wystarczająco polecić. Nie będę zbyt szczegółowo opisywał, dlaczego powinieneś go używać, ponieważ możesz przeczytać więcej na ten temat here (Polecam lekturę całej książki). Gdy aplikacja będzie gotowa do wdrożenia, możesz użyć skryptu kompilacji r.js, require.js. Spowoduje to połączenie wszystkich lub niektórych modułów w jeden plik. To drastycznie przyspieszy działanie aplikacji, szczególnie jeśli masz kilka modułów.

Wreszcie w odniesieniu do optymalizacji pamięci, używam metody opracowanej przez Derick Bailey, którą można przeczytać o here.

Mam nadzieję, że to pomoże.

+2

Powiedział, że to prosta aplikacja, nie ma wystarczającego powodu, aby użyć require.js – Andy

+1

Cóż, myślę, że twoja opinia jest dość subiektywna. Ponieważ Jdeer jest zaniepokojony wydajnością, require.js bardzo ułatwia łączenie "różnych stron" w jeden plik. Mogę powiedzieć, że z doświadczenia wynika, że ​​przejście przez moduł przynosi o wiele więcej korzyści niż przeszkadza, szczególnie jeśli planujesz rozbudować swoją aplikację. Nie sądzę, że twoja opinia zasługuje na poparcie. Jeśli uważasz, że moja odpowiedź jest błędna, we wszystkich przypadkach zapewnij inne rozwiązanie. – TYRONEMICHAEL

+1

Problem z wydajnością, który omawiamy na ten temat, dotyczy żądań i odpowiedzi, a nie początkowego ładowania zawartości. Ponieważ aplikacja jest prostą aplikacją, nie ma takiej potrzeby posiadania kilku stron do szablonów, a liczba skryptów jest minimalna. Możesz użyć czegoś, co nie znaczy, że musisz z niego korzystać. Nie powiedziałem, że twoja odpowiedź jest błędna, po prostu mówię, że ta część, w której wspomniałeś require.js jest błędna. I wprowadzi ludzi w błąd w taki sposób, w jaki wpadliście w błąd. – Andy