2012-03-16 18 views
5

Piszę wiele aplikacji internetowych, które wymagają dużej ilości dynamicznej zawartości, która jest zastępowana zgodnie z różnymi żądaniami ajaxowymi do zaplecza PHP + mySQL, który jest w stanie odpowiedzieć na wszystkie dane jako JSON. Może to być coś w rodzaju quizów, ankiet lub może to być bardziej zaawansowane aplikacje, które wymagają więcej aktualizacji DOM. Chodzi o to, że integracja z HTML (który jest kodowany przez trzecią część) jest tak łatwa, jak to tylko możliwe.Struktura szablonów JavaScript

Ponieważ jest to wiele małych aplikacji i nie jest to duża witryna, szukam biblioteki, która pomoże mi szybko wykonać zadanie i aby można je było później dostosować. Nie wiem, jak to zrobić, ale wiem, że istnieją różne biblioteki, które robią to, czego potrzebuję (i wiele więcej).

Wymagane cechy:

  • Lekki
  • Łatwy do aktualizacji struktury HTML (nawet dla HTML-tylko koderów)
  • Kompatybilny z jQuery
  • Współpracuje ze wszystkimi nowoczesnymi przeglądarkami, w tym Chrome Firefox, Safari i IE7 +
  • Działa ze wszystkimi mobilnymi przeglądarkami, w tym Android, iOS i Windows Mobile

Odpowiedz

2

Wąsy są dość solidne, ale uważam, że jest trochę zbyt ostro na temat "szablonu bez logiki". Na przykład nie oferuje wielu drobiazgów, na które masz nadzieję w szablonie, takich jak instrukcja "else". Trzeba robić głupie rzeczy, jak to cały czas:

{{#if foo}} 
    <span>foo is set</span> 
{{/if} 
{{^if foo}} 
    <span>foo is not set</span> 
{{/if}} 

Zamiast tego polecam Handlebars który jest zbudowany na górze wąsy, ale dodaje kilka ciekawych funkcji, takich jak niestandardowe pomocników i lepsze wsparcie przełączania kontekstu.

+0

Minął już prawie rok, odkąd zadałem to pytanie. I w tym momencie zdecydowałem się na kierownicę. Mój ostateczny wybór został dokonany, gdy musiałem go użyć w rozszerzeniu Chrome, gdzie eval() jest niedozwolony - Handlebars zapewnia również wstępne kompilowanie szablonów. – jack

0

Chciałbym spróbować mustache. Używałem go w przeszłości i jest całkiem dobre; szybki i intuicyjny.

0

Wypróbuj JUST. Ma podobną składnię do EJS, ale ma większą moc. Ma bardzo przydatne funkcje, takie jak dziedziczenie, częściowe i redefinicja bloków. Działa po stronie klienta i serwera (node.js).

5

Chciałbym wypróbować Distal.

Powiedziałeś, że kod HTML jest kodowany przez osobę trzecią, więc chcesz wprowadzić minimalne zmiany podczas integracji. Dzięki dalszemu dodajesz rzeczy do istniejącego HTML i nie musisz się przemieszczać.

Składnia jest oparta na HTML, więc jest odpowiednia dla koderów HTML.

+1

To wygląda na naprawdę fajną bibliotekę i idealnie pasuje do moich potrzeb! Wykorzystam resztę niedzieli, próbując tego. Wielkie dzięki! – jack

+1

Distal wydaje się, że to będzie mój wybór biblioteki. Przyjmę to jako poprawną odpowiedź. Dzięki za wszystkie odpowiedzi. – jack

+0

To jest niesamowite, naprawdę to kocham. Jest to pierwszy niewidoczny szablon szablonu, który widzę. – rterrani