Seaside — це вільне та відкрите програмне забезпечення для розробки вебзастосунків мовою Smalltalk. Складається з набору Smalltalk класів. Розробник може використовувати ці класи, а також розширювати їх на свій розсуд, для створення високодинамічних вебзастосунків, програм з потенційно складним потоком процесів і взаємодій з користувачем. Seaside робить веброзробку значно легшою, і допомагає будувати прості для розуміння застосунки, які легше обслуговувати.
Тип | Каркас вебзастосунків |
---|---|
Розробник | The Seaside Team |
Стабільний випуск | 3.0 (13 вересня 2010 ) |
Операційна система | Багатоплатформність |
Мова програмування | Smalltalk |
Ліцензія | MIT |
Репозиторій | github.com/SeasideSt/Seaside |
Вебсайт | seaside.st |
Основні ідеї
Seaside-застосунки будуються на основі поєднання незалежних компонент. Кожна компонента відповідає за власні візуалізацію, стан і потік процесів. Seaside дозволяє вільно поєднувати такі компоненти, створюючи високорозвинені і динамічні за стосунки. Найбільш вагомою рисою є те, що потік керування застосунку написаний звичайним Smalltalk.
Seaside часто описується як фреймворк-єретик, бо він справді відрізняється від інших. Наприклад, він не використовує шаблонів чи ретельно підібраних URL-адрес з чіткою і зрозумілим вмістом. Seaside не слідує REST за замовчуванням (Representational State Transfer, «передача стану подання» — підхід до архітектури мережевих протоколів, які забезпечують доступ до інформаційних ресурсів).
В Seaside URL-адреси зберігають ключову інформацію сесії. Їх вміст генерується автоматично з певним кодуванням. Якщо потрібні URL-адреси з чітким і зрозумілим вмістом, то їх потрібно створити та передати.
При використанні шаблонних систем (PHP, JSP, ASP, ColdFusion, і т. д.), логічна складова розкидана по багатьох файлах, що створює складність у підтримці додатку. Повторне використання (якщо таке взагалі можливе) часто ґрунтується на копіюванні файлів. Філософія шаблонних систем полягає у розподіленні обов'язків дизайнерів та програмістів. Це хороша ідея, що також підтримується Seaside. CSS використовується дизайнерами для опису зовнішнього вигляду компоненти, а розробники мають можливість програмно генерувати коректну XHTML розмітку.
Seaside легко вивчати і використовувати. Для прикладу, JSF (JavaServer Faces) вимагає від розробника знання таких технологій як Servlets, XML, JSP, конфігурація навігації за допомогою faces.config файлів і т. д. У Seaside розробник повинен знати тільки Smalltalk, який набагато компактніший і простіший для вивчення ніж, наприклад, Java. Seaside дозволяє сконцентруватися на поточній проблемі, а не на поєднанні технологій. Також Seaside забезпечує генерацію коректного XHTML коду.
Таким чином, деякі аспекти дизайну Seaside відрізняються від більшості основних фреймворків для вебзастосунків. У Seaside
- стан сесії зберігається на сервері.
- XHTML повністю генерується в Smalltalk. Там немає ніяких шаблонів або «серверних сторінок», хоча не важко побудувати такі речі і в Seaside.
- можна використовувати функції зворотніх викликів для посилань і кнопок, а не слабо зв'язані посилання на сторінки і ідентифікатори запитів.
- потік процесів у застосунку визначається на чистому Smalltalk, не потрібна жодна спеціальна мова або конфігураційні файли у форматі XML.
У сукупності ці особливості роблять роботу з Seaside майже аналогічною до написання десктопної програми, і навіть простішою, бо сервер забезпечує велику частину деталей роботи вебзастосунку.
Seaside підтримує Ajax завдяки інтеграції з script.aculo.us і jQuery. Seaside також підтримує Comet-стиль сервер-push технології (модель роботи, яка дозволяє реалізувати постійне HTTP-з'єднання і дає можливість відправляти дані з сервера за його ініціативою без додаткового запиту клієнта).
Приклад застосування
Для побудови та налаштування тегів можна використати каскадні повідомлення Smalltalk, коли декілька повідомлень надходять до одного отримувача (тегу). Кожне таке повідомлення встановлює певні параметри тегу. Наприклад, щоб створити заголовок 3го рівня в Seaside:
html heading level: 3; with: 'A third level heading'.
Що відповідає наступному HTML коду:
<h3>A third level heading</h3>
Переваги
Недоліки
- в порівнянні з іншими фреймворками для розробки вебзастосунків Seaside вимагає значних ресурсів пам'яті. Одна сесія може накопичувати кілька сотень кілобайт оперативної пам'яті. Хоча у найновіших версіях Seaside цю кількість вдалось суттєво зменшити.
- Seaside не дотримується архітектури REST за замовчуванням, тому вся інформація про сесію зберігається у URL адресі, що робить URL позбавленою змісту для користувача.
Seaside сайти
Наступні сайти створені з допомогою фреймворка Seaside:
- Seaside. Sophisticaded web creation [ 23 березня 2015 у Wayback Machine.]
- Dynamic Web Development with Seaside [ 15 лютого 2015 у Wayback Machine.]
- Seaside tutorial [ 15 лютого 2015 у Wayback Machine.]
- Onsmalltalk [ 15 лютого 2015 у Wayback Machine.]
Також відомо, що Seaside використовується в багатьох інтернет-додатках. Але це, зазвичай, непомітно. Адже, переглядаючи джерело сторінки ми бачимо лише те, що підключається певний скрипт, а його коду ми не бачимо.
Корисні посилання
- Seaside [ 15 лютого 2015 у Wayback Machine.] homepage.
- Dynamic Web Development with Seaside [Архівовано 8 вересня 2014 у Portugese Web Archive] is an open book on the Seaside Web Framework.
- The Seaside Tutorial [ 21 жовтня 2007 у Wayback Machine.] describes step by step the development of a Seaside application.
- Terse Guide [ 4 листопада 2006 у Wayback Machine.] to Seaside.
- Video of Lukas Renggli's talk The Heretic Web Framework [ 29 травня 2011 у Wayback Machine.] from the Studencki Festiwal Informatyczny in Cracow, March 2007, with PDF slides [ 7 лютого 2012 у Wayback Machine.]
- for Cincom VisualWorks Smalltalk.
- Comparison of Seaside and Rails [ 29 вересня 2007 у Wayback Machine.].
- Borges — Ruby port of Seaside 2.0.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Seaside ce vilne ta vidkrite programne zabezpechennya dlya rozrobki vebzastosunkiv movoyu Smalltalk Skladayetsya z naboru Smalltalk klasiv Rozrobnik mozhe vikoristovuvati ci klasi a takozh rozshiryuvati yih na svij rozsud dlya stvorennya visokodinamichnih vebzastosunkiv program z potencijno skladnim potokom procesiv i vzayemodij z koristuvachem Seaside robit vebrozrobku znachno legshoyu i dopomagaye buduvati prosti dlya rozuminnya zastosunki yaki legshe obslugovuvati SeasideTipKarkas vebzastosunkivRozrobnikThe Seaside TeamStabilnij vipusk3 0 13 veresnya 2010 13 rokiv tomu 2010 09 13 Operacijna sistemaBagatoplatformnistMova programuvannyaSmalltalkLicenziyaMITRepozitorijgithub com SeasideSt SeasideVebsajtseaside stOsnovni ideyiSeaside zastosunki buduyutsya na osnovi poyednannya nezalezhnih komponent Kozhna komponenta vidpovidaye za vlasni vizualizaciyu stan i potik procesiv Seaside dozvolyaye vilno poyednuvati taki komponenti stvoryuyuchi visokorozvineni i dinamichni za stosunki Najbilsh vagomoyu risoyu ye te sho potik keruvannya zastosunku napisanij zvichajnim Smalltalk Seaside chasto opisuyetsya yak frejmvork yeretik bo vin spravdi vidriznyayetsya vid inshih Napriklad vin ne vikoristovuye shabloniv chi retelno pidibranih URL adres z chitkoyu i zrozumilim vmistom Seaside ne sliduye REST za zamovchuvannyam Representational State Transfer peredacha stanu podannya pidhid do arhitekturi merezhevih protokoliv yaki zabezpechuyut dostup do informacijnih resursiv V Seaside URL adresi zberigayut klyuchovu informaciyu sesiyi Yih vmist generuyetsya avtomatichno z pevnim koduvannyam Yaksho potribni URL adresi z chitkim i zrozumilim vmistom to yih potribno stvoriti ta peredati Pri vikoristanni shablonnih sistem PHP JSP ASP ColdFusion i t d logichna skladova rozkidana po bagatoh fajlah sho stvoryuye skladnist u pidtrimci dodatku Povtorne vikoristannya yaksho take vzagali mozhlive chasto gruntuyetsya na kopiyuvanni fajliv Filosofiya shablonnih sistem polyagaye u rozpodilenni obov yazkiv dizajneriv ta programistiv Ce horosha ideya sho takozh pidtrimuyetsya Seaside CSS vikoristovuyetsya dizajnerami dlya opisu zovnishnogo viglyadu komponenti a rozrobniki mayut mozhlivist programno generuvati korektnu XHTML rozmitku Seaside legko vivchati i vikoristovuvati Dlya prikladu JSF JavaServer Faces vimagaye vid rozrobnika znannya takih tehnologij yak Servlets XML JSP konfiguraciya navigaciyi za dopomogoyu faces config fajliv i t d U Seaside rozrobnik povinen znati tilki Smalltalk yakij nabagato kompaktnishij i prostishij dlya vivchennya nizh napriklad Java Seaside dozvolyaye skoncentruvatisya na potochnij problemi a ne na poyednanni tehnologij Takozh Seaside zabezpechuye generaciyu korektnogo XHTML kodu Takim chinom deyaki aspekti dizajnu Seaside vidriznyayutsya vid bilshosti osnovnih frejmvorkiv dlya vebzastosunkiv U Seaside stan sesiyi zberigayetsya na serveri XHTML povnistyu generuyetsya v Smalltalk Tam nemaye niyakih shabloniv abo servernih storinok hocha ne vazhko pobuduvati taki rechi i v Seaside mozhna vikoristovuvati funkciyi zvorotnih viklikiv dlya posilan i knopok a ne slabo zv yazani posilannya na storinki i identifikatori zapitiv potik procesiv u zastosunku viznachayetsya na chistomu Smalltalk ne potribna zhodna specialna mova abo konfiguracijni fajli u formati XML U sukupnosti ci osoblivosti roblyat robotu z Seaside majzhe analogichnoyu do napisannya desktopnoyi programi i navit prostishoyu bo server zabezpechuye veliku chastinu detalej roboti vebzastosunku Seaside pidtrimuye Ajax zavdyaki integraciyi z script aculo us i jQuery Seaside takozh pidtrimuye Comet stil server push tehnologiyi model roboti yaka dozvolyaye realizuvati postijne HTTP z yednannya i daye mozhlivist vidpravlyati dani z servera za jogo iniciativoyu bez dodatkovogo zapitu kliyenta Priklad zastosuvannyaDlya pobudovi ta nalashtuvannya tegiv mozhna vikoristati kaskadni povidomlennya Smalltalk koli dekilka povidomlen nadhodyat do odnogo otrimuvacha tegu Kozhne take povidomlennya vstanovlyuye pevni parametri tegu Napriklad shob stvoriti zagolovok 3go rivnya v Seaside html heading level 3 with A third level heading Sho vidpovidaye nastupnomu HTML kodu lt h3 gt A third level heading lt h3 gt Perevagidostatnij nabir komponent i funkcij zvorotnogo vikliku pidtrimka poslidovnih vzayemodij vbudovanij interfejs dlya vidlagodzhennya pidtrimka AJAX ta inshih tehnologij Veb 2 0 Nedolikiv porivnyanni z inshimi frejmvorkami dlya rozrobki vebzastosunkiv Seaside vimagaye znachnih resursiv pam yati Odna sesiya mozhe nakopichuvati kilka soten kilobajt operativnoyi pam yati Hocha u najnovishih versiyah Seaside cyu kilkist vdalos suttyevo zmenshiti Seaside ne dotrimuyetsya arhitekturi REST za zamovchuvannyam tomu vsya informaciya pro sesiyu zberigayetsya u URL adresi sho robit URL pozbavlenoyu zmistu dlya koristuvacha Seaside sajtiNastupni sajti stvoreni z dopomogoyu frejmvorka Seaside Seaside Sophisticaded web creation 23 bereznya 2015 u Wayback Machine Dynamic Web Development with Seaside 15 lyutogo 2015 u Wayback Machine Seaside tutorial 15 lyutogo 2015 u Wayback Machine Onsmalltalk 15 lyutogo 2015 u Wayback Machine Takozh vidomo sho Seaside vikoristovuyetsya v bagatoh internet dodatkah Ale ce zazvichaj nepomitno Adzhe pereglyadayuchi dzherelo storinki mi bachimo lishe te sho pidklyuchayetsya pevnij skript a jogo kodu mi ne bachimo Korisni posilannyaSeaside 15 lyutogo 2015 u Wayback Machine homepage Dynamic Web Development with Seaside Arhivovano 8 veresnya 2014 u Portugese Web Archive is an open book on the Seaside Web Framework The Seaside Tutorial 21 zhovtnya 2007 u Wayback Machine describes step by step the development of a Seaside application Terse Guide 4 listopada 2006 u Wayback Machine to Seaside Video of Lukas Renggli s talk The Heretic Web Framework 29 travnya 2011 u Wayback Machine from the Studencki Festiwal Informatyczny in Cracow March 2007 with PDF slides 7 lyutogo 2012 u Wayback Machine for Cincom VisualWorks Smalltalk Comparison of Seaside and Rails 29 veresnya 2007 u Wayback Machine Borges Ruby port of Seaside 2 0