Seaside (software) - Seaside (software)
![]() Přímořské logo | |
![]() Screenshot webové aplikace ve vývojovém režimu | |
Vývojáři | Přímořský tým[1] |
---|---|
První vydání | 2002 |
Stabilní uvolnění | 3.4.0 / 24. srpna 2019[2] |
Úložiště | Přímořské úložiště |
Napsáno | Pokec |
Operační systém | Cross-platform |
Plošina | IA-32, x86-64, PAŽE |
K dispozici v | Angličtina |
Typ | Webový rámec |
Licence | MIT |
webová stránka | pobřeží |
Pobřeží, zkratka, která znamená „Squeak Enterprise Aubergines Server with Integrated Development Environment,“ je počítač software, a webový rámec Vyvinout webové aplikace v programovacím jazyce Pokec. Je distribuován jako bezplatný open source software pod Licence MIT.
Seaside poskytuje architekturu komponent, ve které webové stránky jsou postaveny jako stromy jednotlivce, stavový komponenty, z nichž každá zapouzdřuje malou část stránky. Přímořské použití pokračování modelovat více nezávislých toků mezi různými komponentami.[3] Jedná se tedy o webový rámec založený na pokračování[4] na základě schopnosti manipulovat s prováděcím zásobníkem některých implementací Smalltalku.
Klíčové vlastnosti
Přímořská implementace pokračování byl prvním bodem zájmu v prvních několika letech své existence po vydání z roku 2002. Pokračování poskytují mechanismus pro vrácení zpět a obnovení, což je užitečné ustanovení pro webový prohlížeč prostředí, ve kterém Obnovit a zadní tlačítka mohou přerušit tok zpracování. To řeší mnoho běžných problémů se spuštěnými webovými aplikacemi, jako je přiměřené udržení stavu na straně serveru, i když jsou použita tlačítka „zpět“ a „vpřed“ ve webovém prohlížeči. Servery pokračování dávají vývojáři možnost udržovat stav na serveru škálovatelným způsobem.[5] Následné zdokonalení implementace webového prohlížeče JavaScript od roku 2002 je pokračování Seaside méně významné tím, že umožňuje klientským prohlížečům lépe sledovat stav.
Charakteristickým rysem Seaside je jeho integrované vývojové prostředí, které poskytuje přístup k vývojovým nástrojům a podporu ladění v rámci aplikace. V vývojovém režimu jsou neošetřené chyby hlášeny na webovou stránku; vývojáři mohou přistupovat a měnit programový stav a stav přímo z webové stránky, což umožňuje identifikaci a opravu chyb v rámci integrované vývojové prostředí (IDE).[6]
Aplikace Seaside je sada interagujících komponent. Každý z nich ukládá stav napříč zobrazeními stránky a může poskytnout sám k HTML proud. Je tedy jednoduché napsat komponentu jednou a poté ji znovu použít jinde v aplikaci. Seaside také podporuje představu o úkolech, které umožňují programátorovi popsat logiku interakce komponent na vysoké úrovni.
Seaside není orientovaný na šablony a nenabízí generování ani používání šablon HTML; HTML označení je generován programově. (Rámec správy obsahu Pier založený na moři nabízí syntaxi značek wiki pro šablonování.) zpětná volání na uzávěry určit akce, které je třeba provést při kliknutí na odkaz nebo při odeslání formuláře. Vývojáři a uživatelé Seaside tvrdí, že to pomáhá vynutit oddělení struktury (označení) od obsahu a prezentace (Kaskádové styly (CSS)).[7] Kombinace komponent, zpětných volání a uzávěrek Seaside může výrazně snížit sémantickou mezeru mezi komplexním pracovním tokem a jeho reprezentací v kódu.[8]
Přímořské podpory Ajax prostřednictvím integrace s script.aculo.us a jQuery. Seaside také podporuje Kometa -styl server-push technologie.[9]Seaside může pracovat buď s implementacemi webového serveru založeného na Smalltalk, nebo s jinými, které nejsou Smalltalk (Nginx, Apache).
Filozofie
V posledních několika letech se v oblasti vývoje webů začaly široce přijímat některé osvědčené postupy:
- Sdílejte co nejméně státu.
- Používejte čisté, pečlivě vybrané a smysluplné URL.
- K oddělení modelu od prezentace použijte šablony.
Seaside úmyslně porušuje všechna tato pravidla. Avi Bryant to popisuje jako „kacířský“ rámec. Tvrdí, že toto pečlivé a odůvodněné odmítnutí konvenčních moudrostí vývoje webových aplikací vedlo k velmi účinnému modelu pro vývoj webových aplikací.[10]
Přístavy
Hlavní vývoj Seaside je realizován v Pharo Pokec.[11] Porty pro další dialekty Smalltalk existují. Původní vývoj Seaside byl proveden dne Kvičet počátkem roku 2000. Michel Bany implementoval porty do VisualWorks prostřednictvím verze Seaside 2.7; Systémy Cincom podporuje Seaside jako součást VisualWorks počátkem roku 2008. Instantiations ohlásila podporu Seaside ve své platformě VAST (VA Smalltalk) verze 8.0 v roce 2009. Platforma VAST nadále podporuje Seaside prostřednictvím své nejnovější verze. Esteban Maringolo udržoval port 2,8 a několik dalších doplňků (např script.aculo.us ) pro Dolphin Smalltalk X6.[12]Gemstone Systems implementoval port do Drahokam / S.[13]Byl dokončen port 2,8 pro GemStone,[14] a předběžná verze 3.0 běží dál GNU Smalltalk 3.0a a novější.[15]
Kritiky
- Ve srovnání s ostatními webové rámce „Seaside je náročná na paměť. Jeden zasedání mohl nahromadit několik stovek kilobajtů RAM. Pozdější verze, verze 2.8, tuto velikost výrazně zmenšuje (např. Dříve typická velikost 200 kB se změní na 50 kB).
- Seaside nenásleduje přenos reprezentativního stavu (REST) ve výchozím nastavení. Namísto, Jednotné vyhledávače zdrojů (URL) obsahují klíčové informace o relaci a smysluplné adresy URL musí být generovány explicitně.
Open-source projekty, které ji používají
Mnoho open-source projektů používá Seaside, z nichž některé jsou:
- Magritte - rámec meta-popisu s těsnou integrací do Seaside
- Molo - a systém pro správu obsahu a aplikační rámec na vysoké úrovni pro Seaside
- Projekt ADK
Vlastní projekty, které ji používají
Mnoho proprietárních projektů využívá Seaside, z nichž některé jsou:
- Dabble DB - webová databázová aplikace[16]
- Cmsbox - a systém pro správu obsahu (CMS) zpřístupněné společností netstyle.ch pro švýcarský trh.
Viz také
- Zásobník řešení, SKLENKA
- Nagare (webový rámec)
- Seznam systémů pro správu obsahu
- Srovnání webových frameworků
Reference
- ^ Přímořský tým
- ^ https://github.com/SeasideSt/Seaside/releases
- ^ Seaside - rámec více aplikačních toků webových aplikací
- ^ IBM DeveloperWorks: Překračování hranic: pokračování, vývoj webu, programování v jazyce Java
- ^ Seaside: Flexibilní prostředí pro vytváření dynamických webových aplikací
- ^ Ladění přímořských aplikací
- ^ Avi Bryant vysvětluje, proč Seaside šablony nepoužívá
- ^ Rámečky webových aplikací: Srovnávací studie
- ^ Screencast: Aplikace Seaside Comet Chat
- ^ "'Web Kacířství: Poznámky k zasedání Seaside Framework, OSCON 2006 ". Archivovány od originálu na 2014-08-30.CS1 maint: BOT: stav původní adresy URL neznámý (odkaz)
- ^ „Seaside 2.9 je aktuálně implementován na Pharo, který slouží jako referenční implementace.“
- ^ Přímořský blog pro Dolphin Smalltalk
- ^ U moře 2,6 g
- ^ Přímořské 2.8
- ^ Funguje Seaside na GNU Smalltalk, GNU Smalltalk - časté dotazy
- ^ Článek Jon Udell v InfoWorld Archivováno 2007-02-12 na Wayback Machine