Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемgodegisel
1 Catalyst – MVC framework на Perl Сергей Скворцов $Revision:: 11$
2 2 Кто аудитория этого доклада? Разработчики на Perl –на May Perl 2008 будет более детальный доклад Разработчики не на Perl –которые почему-то (?!) его не знают Менеджеры –спокойно, в докладе не будет ни строчки Perl-кода
3 3 Что такое Catalyst? Web framework на Perl Архитектурный паттерн MVC Принцип TIMTOWTDI - «всегда есть более чем один способ сделать это» вместо « one way to do it ». Постмодернизм – как в Perl, так и в Catalyst
4 4 Что делает web-framework? Взаимодействие с веб-сервером – Apache, CGI, Zeus, FastCGI, … –Сделать что-то согласно URL – – last_name=Ivanov&curator= last_name=Ivanov&curator=1245 Управление пользователями –Аутентификация, авторизация, сессии
5 5 Что ещё делает web-framework? Прочесть и/или сохранить что-то в модели источника данных (БД, …) – DBIx::Class, LDAP, Обработка HTML-форм – FormBuilder, FormFu Собственно логика приложения Отображение результатов – (x)HTML, PDF, , JSON, …
6 6 Что такое MVC? 1. Request 2. Dispatch 3. Read / Store 4. Forward 5. Render 6.Response
7 7 Какие могут быть Modelи? Реляционные БД (через ORM или нет) – DBIx::Class, Class::DBI, DBI Данные как результат запроса –SOAP, XMLRPC, Jabber, LDAP, RSS/Atom Данные через API веб-служб – YouTube, Flickr, Amazon -S3 «Простые» модели – Filesystem, , SVN, …
8 8 Какие могут быть View? Системы шаблонов (template systems): – Template-Toolkit, Mason, HTML-Template, … Представление данных для «машин» (REST): – JSON, YAML, XML, … Графика (SVG, PNG, …) и специальные форматы ( )
9 9 View: какие есть Templateы? Template-Toolkit – очень популярный [% FOREACH book IN books %] [% book.title %] by [% book.author.name %] [% END %] HTML-Mason – тоже популярный HTML-Template – очень простой XSLT - стандартный XML-язык шаблонов ClearSilver - языка-независимый, очень быстрый
10 10 View: какие есть Templateы? MicroMason – компилятор шаблонов Petal – реализация спецификации TAL из Zope PSP – Perl Server Pages (похож на JSP) Template::Declare PHP – (нет, правда!)
11 11 URI-to-Action dispatch package MyApp::Controller::Foo; sub login :Global # /login sub one :Path("foo") # /foo/foo sub two :Path("/bar") # /bar sub three :Path # /foo/* sub four :Regex("/group(\d+)/view") # /group12345/view sub five :LocalRegex("baz/(.*)/quux") # /foo/baz/(.*)/quux
12 12 Поддержка сессий Session::State – Cookie, URI Session::Store – Cache, DBI, FastMmap, Delegate, File, Memcached
13 13 Аутентификация и авторизация Аутентификация – Credentials – способ / алгоритм Password, HTTP, OpenID, Atom, PAM, Facebook –Store – хранилище данных о пользователе Htpasswd, DBIx-Class, LDAP, … –набор Realms – пары Авторизация – Authorization::Roles – Authorization:: ACL
14 14 …и еще разного полезного HTML-формы –CGI::FormBuilder, HTML::FormFu AJAX –нет жесткой привязки, любой из: – Dojo, jQuery, script.aculo.us, Prototype, MochiKit, YUI –Jemplate - шаблоны на стороне клиента Unicode, L10N, I18N, … –Unicode прекрасно поддерживает Perl – Catalyst::Plugin::I18N ( через Locale::Maketext)
15 15 Runtime: среда запуска development: –Standalone (Engine::HTTP) –CGI (не рекомендуем в production) production: –mod_perl 1. x / 2. x – FastCGI – nginx, apache, lighttpd – Catalyst-Engine-*: HTTP-POE, HTTP-Prefork, Wx, Zeus, XMPP2, Embeddable
16 16 Работа с Catalyst Готовые компоненты на CPAN –порядка 200 модулей Детальная документация –POD, Wiki, книги Helpers & scaffolding – scripts/myapp_create.pl model … Тесты –Catalyst::Test –Test::WWW::Mechanize::Catalyst
17 17 TIMTOWTDI There is more than one way to do it –«всегда есть более чем один способ сделать это» Итеративная миграция –с других платформ или существующих проектов Гибкость будущего развития One way to do it –«есть только один верный путь» –«opinionated software» Миграция путем переписывания всего кода сразу Зависимость от «линии партии»
18 18 Постмодернизм: Perl и Catalyst Мы с благодарностью используем новые придумки из других систем и языкав… … и с одобрением смотрим, как адаптируют наши. Интересные идеи легко и непринуждённо инкорпорируются, ведь… …это мир open-source, не надо быть скупыми! Постмодернизм – это круто!
19 19 Спасибо! mailto: Catalyst – ваш технологический и философский выбор :)
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.