2012-02-29 16 views
13

Zacząłem w świecie programowania od PHP, a następnie Rails w ciągu ostatnich kilku lat. Od tego czasu robię wszystkie moje projekty internetowe w Railsach.nakładka Backbone.js z obsługą RESTful Rails?

Ostatnio wydaje się, że istnieje ruch zmierzający do uczynienia Railsów czystą usługą backendu RESTful i używaniem struktury frontendowej, takiej jak Backbone.js dla wszystkich interakcji frontendowych. Zastanawiam się, co o tym myślisz? Czy to będzie ostateczna przyszłość?

Poza tym, oprócz Backbone.js, jakie są inne alternatywy dla frameworka frontend w tym celu?

Zakładając, że będę chciał obsługiwać zarówno wersję na komputery, jak i mobilną wersję mojej aplikacji, czy będzie to właściwa droga do podjęcia? Czy będę miał jedną usługę backendu z różnymi usługami frontendowymi? W ten sposób nie muszę zarządzać wszystkimi widokami po stronie Railsów?

Dzięki!

+0

Sprawdź to, jeśli jeszcze tego nie zrobiłeś, http://railscasts.com/episodes/323-backbone-on-rails-part-1 i http://railscasts.com/episodes/325-backbone-on -rails-part-2 pomógł mi lepiej zrozumieć bootstrap. Def zaczynają widzieć użyteczność takiego szkieletu. Ryan umieścił wszystkie swoje trasy szyn w przestrzeni nazw api, aby oddzielić je od strony webappu, co wydaje mi się intuicyjne. –

+0

uuummmm, kręgosłup, nie bootstrap ... :) –

Odpowiedz

19

dotyczących ram po stronie klienta, ten artykuł ma listę 20 z nich pro i con: http://net.tutsplus.com/articles/web-roundups/20-javascript-frameworks-worth-checking-out/

oto lista:

  1. Backbone.js
  2. Knockout.js
  3. Asana luna
  4. Cappucino
  5. Sproutcore
  6. BatmanJS
  7. corMVC
  8. TrimJunction
  9. pureMVC
  10. jamal
  11. choco
  12. sammyjs
  13. extJS
  14. agilityJS
  15. eyeballs
  16. activejs
  17. spinejs
  18. qooxdoo

Są one mniej więcej o stworzenie po stronie klienta, oparte na ajax, javascript MVC ramy.

Jeśli szukasz czegoś, od czego zacząć, to polecam myśleć o szablonach po stronie klienta (... ates ... ates ... ates) (tylko "V") w celu obsługi usługi zorientowana architektura (wielu klientów jest obsługiwanych przez tworzone punkty końcowe usługi).

Jest to nowa technika polegająca na modularyzacji kodu po stronie klienta, przenoszeniu MVC do klienta i utrzymaniu logiki biznesowej na platformie.Wiele aplikacji Software-as-a-Service wykorzystuje je, a wraz z rosnącym wyrafinowaniem bibliotek i frameworków javascript, a także możliwościami przeglądarki za pomocą HTML5, CSS3 itd., Pojawi się rosnąca złożoność prezentacji po stronie klienta. .

Tak się uczyć.

Jakie są korzyści?

Parafrazując Linked In: dla wykorzystania pamięci podręcznej przeglądarki, oddzielenia prezentacji front-end klienta, obciążenia asynchronicznego, progresywnego renderowania (dla niektórych frameworków), wydajności, interakcji ajax i innych.

kilku wielkich ramy obejmują:

  1. mustache
  2. dust.js
  3. handlebars
  4. Google Closure Templates
  5. Nun
  6. Mu
  7. kite

Gorąco polecam patrząc na Linked In's move away from JSP towards Client-Side Templates i dlaczego wybrać dust.js w Linked In's front-end client-side templates throwdown dla porównania. Omawiają one znacznie więcej szczegółów i badali, dlaczego zmienili swój stos, aby to wspierać (obejmował on wykorzystanie 3 technologii po stronie serwera), a także ich porównania wszystkich struktur, jakie mogli znaleźć.

+0

Dzięki za odpowiedź. Właśnie przeczytałem dwa połączone artykuły, które podałeś. Myślę, że zaczynam lepiej rozumieć scenę szablonów po stronie klienta.Jednak pytanie po raz kolejny zwleka, więc jakie są naprawdę różnice między tym a jakimś szkieletem MVC, jak backbone.js? To brzmi jak to, co chciałbym mieć, ale kiedy usłyszałem o backbone.js z Rails, to też brzmiało jak to, o czym mówiłem. Jakie są między nimi różnice? Dzięki! – gtr32x

+0

Co rozumiesz przez "to" i "niektóre ramy MVC", takie jak backbone.js? Każda z tych platform to w zasadzie ARE MVC, które wykorzystują ajax (i inne technologie) do interakcji z usługami/aplikacją po stronie serwera. Mają swoje pro i przeciw. backbone jest po prostu bardzo popularnym modelem, który mocno śledzi modele ajax +. –

+0

No dobra, myślałem, że backjone.js było czymś innym niż te, które wymieniłeś. Ponieważ nie było go na Twojej liście frameworków i linków. Sądzę, że błędnie założyłem, że myśleliście, że backbone.js jest zbyt dobrą opcją. Dzięki! – gtr32x

2

Zrobiłem coś takiego kilka lat temu w .net. Nie było przez odpowiednie .NET MVC i nie korzystałem z nowych frameworków JS, ale zasada była taka sama; kod serwera zwraca JSON do javascript, który buduje stronę i interakcje itp.

Rezultatem była urocza responsywna strona internetowa, ale konserwacja była koszmarem. Należy bardzo uważać, aby kod JS był dobrze zorganizowany.

Osobiście uważam, że łatwiej jest utrzymać kod serwera (w dowolnym języku) niż javascript, więc nie zejdę ponownie tą trasą.

(IMHO)

Fran