MontageJS

MontageJS
Deweloperzy Kaazing
Pierwsze wydanie 10 lipca 2012 ( 10.07.2012 )
Wersja stabilna
17.0.11 / 19 lipca 2017 ( 2017-07-19 )
Magazyn github.com/montagejs/montage _ _ _
Napisane w JavaScript , HTML , CSS
Typ Ramy JavaScript
Licencja Licencja BSD
Strona internetowa montagestudio .com /montagejs

MontageJS (lub Montage) to framework JavaScript typu open source do tworzenia skalowalnych aplikacji jednostronicowych . Ma na celu uproszczenie tworzenia i utrzymywania ekspresyjnych aplikacji HTML5 poprzez zastosowanie natywnych ram aplikacji. Dzięki Montage programiści mogą budować i rozszerzać komponenty i moduły interfejsu użytkownika wielokrotnego użytku, wiązać właściwości między komponentami i kontrolerami oraz synchronizować DOM , aby zapewnić płynne działanie użytkownika, zwłaszcza na urządzeniach o ograniczonych zasobach.

Historia rozwoju

Rozwój Montage rozpoczął się pod kierownictwem Benoit Marchanta i jego zespołu w Motorola Mobility, od sierpnia 2010 do lipca 2012. Projekt został udostępniony jako open source na GitHub w lipcu 2012 na licencji BSD . Montage jest obecnie obsługiwany przez startup z Doliny Krzemowej, którego pracownikami są Marchant i główni członkowie oryginalnego zespołu programistów.

Pomysły stojące za Montage sięgają czasów, gdy Marchant pracował w Apple (1999-2010), gdzie pracował nad natywnymi (podobnymi do komputerów stacjonarnych) interfejsami użytkownika napisanymi w JavaScript. Celem Marchanta było wówczas stworzenie odpowiedników sprawdzonych technologii, takich jak Cocoa i WebObjects , ale na potrzeby sieci i po stronie klienta ułatwiających budowanie aplikacji w HTML, CSS i JavaScript. W rezultacie powstała Gianduia, bogata platforma aplikacji internetowych, zaprezentowana przez firmę Apple na konferencji World of WebObjects Developer Conference 2009.

W 2010 roku, kiedy Marchant miał okazję dołączyć do firmy Motorola Mobility, aby pracować nad nowym frameworkiem dla urządzeń mobilnych, wykorzystał lekcje wyciągnięte z firmy Apple, aby zbudować Montage od podstaw przy użyciu wzorca projektowego model-view-controller (MVC) w celu podzielenia Montaż aplikacji w logicznie odrębne jednostki. Chociaż ewoluuje, Montage był używany do tworzenia aplikacji gotowych do produkcji.

Montage przenosi projekty i wzorce natywnych ram aplikacji na dziedzinę tworzenia aplikacji internetowych. Jednak Montage różni się od swoich odpowiedników tym, że nie wprowadza nowej składni dla sieci. Zamiast tego używa interfejsu API podobnego do kakao, aby utworzyć czystą warstwę abstrakcji na wierzchu stosu internetowego przy użyciu modułowych, samodzielnych komponentów, rzeczywistych obiektów i kolekcji oraz interfejsu API, który pozwala obserwować zmiany w tych obiektach i ich właściwościach lub kolekcje.

Cechy

Montage opiera się na ECMAScript 5, HTML5 i systemie modułów CommonJS spopularyzowanym przez Node.js. Zapewnia funkcjonalność do budowania graficznych interfejsów użytkownika, zapewniając dostęp zarówno do zestawu opiniowanych komponentów UI, jak i standardowych komponentów interfejsu DOM. Jednak zamiast używać systemu szablonów, takiego jak na przykład Mustache, Montage pozwala programistom tworzyć komponenty interfejsu użytkownika jako samodzielne strony internetowe. Aplikacja jest jedynie szablonem komponentu otwieranym bezpośrednio w przeglądarce internetowej. Szablon zawiera szkielet DOM i może wymagać trochę CSS, ale ożywa dzięki włączeniu komponentowego modelu obiektowego, odrębnego, ale połączonego z DOM.

Montage zapewnia również manipulację łańcuchami i wartościami, serializację i inne funkcje, które nie są bezpośrednio powiązane z graficznym interfejsem użytkownika. Używa getterów i setterów do wiązania właściwości, dzięki czemu utrzymuje wydajność nawet wtedy, gdy liczba powiązań rośnie. Implementuje zarządzany cykl rysowania, kluczową część architektury Montage, która oddziela operacje odczytu i zapisu w zaplanowanych odstępach czasu, dzięki czemu nie obniża wydajności. Wykorzystuje delegowanie zdarzeń do zarządzania obsługą i wysyłaniem zdarzeń w celu poprawy wydajności aplikacji.

Częścią ekosystemu MontageJS są narzędzia, które zapewniają lepszą obsługę zoptymalizowaną pod kątem programistów. Należą do nich inicjator Minit, który generuje startowe aplikacje szablonowe i komponenty, a także system modułów przeznaczony do tworzenia front-end aplikacji internetowych przy użyciu pakietów w stylu NPM o nazwie MR (Montage Require).

Montage jest również wyposażony w narzędzie wiersza poleceń, które tłumaczy doświadczenie zoptymalizowane dla programistów na doświadczenie zoptymalizowane dla użytkownika o nazwie Mop (skrót od optymalizatora montażu). Mop generuje gotowe do produkcji aplikacje Montage, zmniejszając ogólny rozmiar pliku aplikacji i tworząc pakiety, które można wstępnie załadować lub rozdzielić na wiele pobrań, aby zmniejszyć liczbę żądań i umożliwić programistom wydawanie aplikacji Montage z restrykcyjnymi zasadami bezpieczeństwa treści .

Zgodność

Montaż zależy od standardowych funkcji przeglądarki i działa najlepiej w nowoczesnych przeglądarkach, w tym Google Chrome, Firefox, Safari 5+, Internet Explorer 10, Safari Mobile i Android.

Zobacz też

Wydania

  • 10 lipca 2012 - 0.11 - pierwsze publiczne wydanie
  • 12 listopada 2012 - 0.12
  • 10 czerwca 2013 r. - 0,13
  • 9 grudnia 2013 r. - 0.13.9
  • 16 stycznia 2014 r. - 0.13.11
  • 25 lutego 2014 r. - 0,14
  • 6 marca 2014 r. - 0.14.4
  • 12 marca 2014 r. - 0,14,5
  • 3 maja 2014 r. - 0.14.10