MontageJS - MontageJS

MontageJS
VývojářiKaazing
První vydání10. července 2012 (2012-07-10)
Stabilní uvolnění
17.0.11 / 19. července 2017 (2017-07-19)
Úložištěgithub.com/ montagejs/montáž
NapsánoJavaScript, HTML, CSS
TypRámec JavaScriptu
LicenceLicence BSD
webová stránkamontagestudio.com/ montagejs

MontageJS (nebo Montage) je open-source JavaScript rámec pro vytváření škálovatelných jednostránkové aplikace. Jeho cílem je zjednodušit vývoj a udržovatelnost expresivních aplikací HTML5 využitím mnoha základů osvědčených nativních aplikačních rámců. S Montage mohou vývojáři vytvářet a rozšiřovat opakovaně použitelné komponenty a moduly uživatelského rozhraní, vázat vlastnosti mezi komponenty a řadiči a synchronizovat DOM aktualizace zajišťující bezproblémový uživatelský zážitek, zejména na zařízeních s omezenými prostředky.[1]

Historie vývoje

Vývoj montáže začal pod vedením Benoita Marchanta a jeho týmu, zatímco v Motorola Mobility, od srpna 2010 do července 2012. Projekt byl otevřen od GitHub v červenci 2012 pod a BSD licence. Montage je v současné době udržován startupem v Silicon Valley, jehož zaměstnanci jsou Marchant a hlavní členové původního vývojového týmu.

Myšlenky Montage sahají do Marchantova působení v Apple (1999–2010), kde pracoval na nativních uživatelských rozhraních napsaných v JavaScriptu. Cílem společnosti Marchant v té době bylo vytvořit ekvivalent ověřených technologií, jako je Kakao a WebObjects, ale pro web a na straně klienta k usnadnění vytváření aplikací v HTML, CSS a JavaScript. Výsledkem byla Gianduia, bohatý rámec pro internetové aplikace představený společností Apple na konferenci World of WebObjects Developer Conference 2009.

V roce 2010, kdy měl Marchant příležitost připojit se k Motorola Mobility, aby pracoval na novém rámci pro mobilní zařízení, využil zkušeností získaných v Apple při stavbě Montage od základu pomocí model – pohled – řadič (MVC) vzor pro rozdělení aplikace Montage na logicky odlišné jednotky. Přestože se Montage stále vyvíjí s mnoha dalšími součástmi plánu, byl použit k vytváření aplikací připravených na výrobu.

Transpozice návrhů a vzorů nativních aplikačních rámců do oblasti vývoje webových aplikací není nic nového. Kde se Montage liší od svých předchůdců (např Cappuccino, například) je, že se nepokouší zavést novou syntaxi pro web. Místo toho používá rozhraní API podobné kakau k vytvoření čisté vrstvy abstrakce v horní části webového zásobníku pomocí modulárních samostatných komponent, skutečných objektů a kolekcí a rozhraní API, které umožňuje sledovat změny na těchto objektech a jejich vlastnostech nebo sbírky.

Funkce

Montage staví na ECMAScript 5, HTML5 a CommonJS modulový systém popularizovaný Node.js. Poskytuje funkce pro vytváření grafických uživatelských rozhraní poskytujících přístup jak k sadě názorných komponent uživatelského rozhraní, tak ke standardním komponentám rozhraní DOM. Namísto použití šablonového systému, jako je například knír, však Montage umožňuje vývojářům vytvářet komponenty uživatelského rozhraní jako samostatné webové stránky. Aplikace je pouze šablona komponenty otevřená přímo ve webovém prohlížeči. Šablona obsahuje kostru DOM a může vyžadovat určité CSS, ale ožívá začleněním objektového modelu komponenty, odlišného, ​​ale spojeného s DOM.

Montage také poskytuje manipulaci s řetězci a hodnotami, serializaci a další funkce, které nejsou přímo vázány na grafické uživatelské rozhraní. K vázání vlastností používá getry a settery, takže udržuje výkon, i když počet vazeb roste. Implementuje cyklus spravovaného kreslení, klíčovou součást architektury Montage, který odděluje operace čtení a zápisu v naplánovaných intervalech, takže to nezhoršuje výkon. A používá delegování událostí ke správě zpracování a dispečinku událostí ke zlepšení výkonu aplikace.

Součástí ekosystému MontageJS jsou nástroje, které poskytují lepší prostředí optimalizované pro vývojáře. Patří mezi ně inicializátor, Minit, který generuje aplikace a komponenty spouštěcích šablon, stejně jako modulový systém určený pro front-end vývoj webových aplikací pomocí balíčků ve stylu NPM s názvem MR (zkratka pro Montage Require).

Montage také přichází s nástrojem příkazového řádku, který převádí prostředí optimalizované pro vývojáře na prostředí optimalizované pro uživatele zvané Mop (zkratka pro Montage optimizer). Mop produkuje aplikace Montage připravené na produkci snížením celkové velikosti souboru aplikace a vytvořením balíčků, které lze předem načíst nebo distribuovat mezi více stažení, aby se snížil počet požadavků a umožnilo vývojářům vydávat aplikace Montage s omezujícími Zásady zabezpečení obsahu.

Kompatibilita

Montáž závisí na standardizovaných funkcích prohlížeče a funguje nejlépe v moderních prohlížečích, včetně Google Chrome, Firefox, Safari 5+, Internet Explorer 10, Safari Mobile a Android.

Viz také

Zprávy

  • 10. července 2012 - 0,11 - první veřejné vydání
  • 12. listopadu 2012 - 0,12
  • 10. června 2013 - 0,13
  • 9. prosince 2013 - 0.13.9
  • 16. ledna 2014 - 0.13.11
  • 25. února 2014 - 0,14
  • 6. března 2014 - 0.14.4
  • 12. března 2014 - 0,14,5
  • 3. května 2014 - 0.14.10

Reference

  1. ^ Kowal, Kris; et al. „Ninja power: open-source sada nástrojů HTML5 si klade za cíl umožnit bohatší webové aplikace“. Ars Technica. Condé Nast.

externí odkazy