ПЛАТФОРМЫ/СЕРВЕРЫ/ФРЕЙМВОРКИ Современные тенденции в веб-программировании
Часть  I.  Что современно? <ul><li>Web 2.0 </li></ul><ul><ul><li>Веб-службы   ( XML/JSON) </li></ul></ul><ul><ul><li>AJAX ...
Технологии клиентской разработки <ul><li>HTML 4/CSS 2/JavaScript 1.6 </li></ul><ul><li>Никуда ничего не делось, всё по-пре...
Платформы серверной разработки *nix/Apache/PHP (LAMP) Windows IIS/ASP.NET *nix/Apache/Tomcat/Java <ul><li>Самая популярная...
Популярность языков/платформ Framework Rank php   1.00 javascript 0.64 asp.net 0.23 Jsp   0.12 jsf 0.02
CMS vs CMF <ul><li>CMS – Content Management System </li></ul><ul><li>Теоретически готовая к установке и работе система. На...
Задачи, решаемые  CMS/CMF <ul><ul><li>MVC </li></ul></ul><ul><ul><li>Cache/Config/Load/Validate </li></ul></ul><ul><ul><li...
Базовые требования к  CMS/CMF <ul><li>Простота установки </li></ul><ul><li>Отсутствие «экзотики» в зависимостях </li></ul>...
Фреймворки ( PHP) <ul><li>Zend Framework (PHP5)   http://framework.zend.com/   </li></ul><ul><li>Наиболее грамотный фреймв...
Популярность  PHP- фреймворков Framework Rank cakephp   1.00 symfony 0.82 zend framework   0.66 codeigniter   0.26
Фреймворки ( JS) <ul><li>jQuery   http://jquery.com/   </li></ul><ul><li>jQuery is a fast and concise JavaScript Library t...
Популярность  JS- фреймворков Framework Rank jquery   1.00   MooTools 0.25 script.aculo.us   0.05
Часть  II.  Подробнее о платформах <ul><ul><li>Используемые языки разработки </li></ul></ul><ul><ul><li>Веб-серверы </li><...
LAMP
Языки   *nix/Apache/MySQL/PHP (LAMP) <ul><li>Не только  PHP,  а ещё и  Perl/Python/Ruby </li></ul><ul><li>Perl  постепенно...
Веб-серверы  *nix/Apache/MySQL/PHP (LAMP) <ul><li>Apache  1.3.х/2.х </li></ul><ul><ul><li>Известный и матёрый,  стандарт д...
Базы данных   *nix/Apache/MySQL/PHP (LAMP) MySQL 4.x/5.x PostgreSQL 7.x/8.x SQLite 3 Самая популярная Самая продвинутая Са...
Средства разработки *nix/Apache/MySQL/PHP (LAMP) Zend Studio Eclipse PDT Far  + Colorer  $399   Профессиональный продукт ...
ASP.NET
Языки в  ASP.NET <ul><li>C# -  де факто основной язык </li></ul><ul><li>VB.NET </li></ul><ul><li>Phalanger, PHP 4 Mono (PH...
Веб-серверы  ASP.NET <ul><li>IIS 5/6/7 </li></ul><ul><li>Родной сервер от  Microsoft </li></ul><ul><li>Apache </li></ul><u...
Базы данных  ASP.NET <ul><li>MS SQL 2005 </li></ul><ul><li>SQL Express (Developer edition) </li></ul><ul><li>Oracle </li><...
Средства разработки  ASP.NET Microsoft OpenSource VS 2005/2008 – commercial  Visual Web Developer 2005/2008 Express –  FRE...
Java
Google Web Toolkit (GWT) <ul><li>Google Web Toolkit  (GWT) упрощает создание высокопроизводительных приложений AJAX.  </li...
Upcoming SlideShare
Loading in …5
×

Web programming modern tendencies

1,586 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,586
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Web programming modern tendencies

  1. 1. ПЛАТФОРМЫ/СЕРВЕРЫ/ФРЕЙМВОРКИ Современные тенденции в веб-программировании
  2. 2. Часть I. Что современно? <ul><li>Web 2.0 </li></ul><ul><ul><li>Веб-службы ( XML/JSON) </li></ul></ul><ul><ul><li>AJAX (Async JavaScript and XML) </li></ul></ul><ul><ul><li>RSS/Atom </li></ul></ul><ul><ul><li>Высоконагруженные проекты (соц. сети любого типа) </li></ul></ul><ul><li>Фреймворки </li></ul><ul><ul><li>.NET (ASP.NET, ASP.NET AJAX, ASP.NET MVC) </li></ul></ul><ul><ul><li>Java (JSF, IceFaces, jMaki, RichFaces) </li></ul></ul><ul><ul><li>PHP (Zend framework, CodeIgniter, Symfony) </li></ul></ul><ul><ul><li>JS (jQuery, MooTools, Prototype, script.aculo.us) </li></ul></ul>
  3. 3. Технологии клиентской разработки <ul><li>HTML 4/CSS 2/JavaScript 1.6 </li></ul><ul><li>Никуда ничего не делось, всё по-прежнему актуально. Вёрстка в HTML+CSS, динамика – JavaScript . Табличная вёрстка ушла на покой, сейчас в моде «дивная» вёрстка ( css layout ). </li></ul><ul><li>Adobe Flash – Action Script/Flex </li></ul><ul><li>В веб-браузер внедряется ActiveX, внутри которого крутится мультимедиа-контент </li></ul><ul><li>Microsoft Silverlight </li></ul><ul><li>В веб-браузер внедряется ActiveX, внутри которого крутится мультимедиа-контент  </li></ul>
  4. 4. Платформы серверной разработки *nix/Apache/PHP (LAMP) Windows IIS/ASP.NET *nix/Apache/Tomcat/Java <ul><li>Самая популярная платформа </li></ul><ul><li>Очень просто найти хостинг </li></ul><ul><li>Очень много документации, книг, примеров, фреймворков </li></ul><ul><li>Самая раскручиваемая платформа </li></ul><ul><li>Хостинг найти сложнее, чем для LAMP </li></ul><ul><li>Разнообразные non-GUI библиотеки, написанные для десктопа будут без изменений работать на сервере </li></ul><ul><li>Есть порт под Linux – MONO </li></ul><ul><li>Нерекламируемый соперник ASP.NET  </li></ul><ul><li>Найти хостинг ещё сложнее, да и не нужно – обычно выделенные серверы </li></ul><ul><li>Сильная поддержка со стороны Google (GWT – это нечто ) </li></ul>
  5. 5. Популярность языков/платформ Framework Rank php   1.00 javascript 0.64 asp.net 0.23 Jsp   0.12 jsf 0.02
  6. 6. CMS vs CMF <ul><li>CMS – Content Management System </li></ul><ul><li>Теоретически готовая к установке и работе система. На сегодняшнй день их больше тысячи, как коммерческих, так и бесплатных с открытым кодом. </li></ul><ul><li>CMF – Content Management Framework </li></ul><ul><li>Кирпичи с цементом. Чтобы сделать сайт на CMF , нужно прилично поработать. Известных фреймворков всего около двух десятков. </li></ul>
  7. 7. Задачи, решаемые CMS/CMF <ul><ul><li>MVC </li></ul></ul><ul><ul><li>Cache/Config/Load/Validate </li></ul></ul><ul><ul><li>Database management </li></ul></ul><ul><ul><li>Internationalization/Localization </li></ul></ul><ul><ul><li>Authentication/Autorization/Session management </li></ul></ul><ul><ul><li>Mail/Formats/Search </li></ul></ul>
  8. 8. Базовые требования к CMS/CMF <ul><li>Простота установки </li></ul><ul><li>Отсутствие «экзотики» в зависимостях </li></ul><ul><li>Удобство настройки шаблонов дизайна </li></ul><ul><li>Удобство управления различными типами контента </li></ul><ul><li>Удобство управления пользователями/правами доступа </li></ul><ul><li>Высокая производительность </li></ul><ul><li>Модульность (расширяемость функционала) </li></ul><ul><li>Мультиязычность фронтенда/бэкенда </li></ul><ul><li>Качественная документация </li></ul><ul><li>Дружественность к SEO </li></ul>
  9. 9. Фреймворки ( PHP) <ul><li>Zend Framework (PHP5) http://framework.zend.com/ </li></ul><ul><li>Наиболее грамотный фреймворк с точки зрения разработчика – стандарты разработки, подробная документация, покрытие тестами. </li></ul><ul><li>CodeIgniter (PHP4/5) http://codeigniter.com/ </li></ul><ul><li>CodeIgniter is an Open Source Web Application Framework that helps you write kick-ass PHP programs. Заявлена высокая производительность, поддержка большого числа хостингов (в том плане, что не требует экзотики), качественная документация. Не требует PEAR ( PHP Extension and Application Repository ) . </li></ul><ul><li>Symfony (PHP5) http://www.symfony-project.org/ </li></ul><ul><li>Качественный код, приличная документация. Декларирует нелюбовь к изобретению велосипедов, в следствии чего по макимуму использует библиотеки сторонних разработчиков. Использует PEAR, ORM Doctrine и т.д. </li></ul><ul><li>По работе с Symfony есть печатные издания. </li></ul><ul><li>CakePHP ( PHP4/5) http://cakephp.org/ </li></ul><ul><li>Ещё один фреймворк из популярных/хороших . Имеет свой ORM. Из плохого – медленнее остальных. ( http://www.avnetlabs.com/php/php-framework-comparison-benchmarks ) </li></ul>
  10. 10. Популярность PHP- фреймворков Framework Rank cakephp   1.00 symfony 0.82 zend framework   0.66 codeigniter   0.26
  11. 11. Фреймворки ( JS) <ul><li>jQuery http://jquery.com/ </li></ul><ul><li>jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript. [code.google.com, amazon, ibm, engadget ] </li></ul><ul><li>MooTools http://mootools.net/ </li></ul><ul><li>MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API. [ w3c, cnet ] </li></ul><ul><li>Prototype http://www.prototypejs.org/ </li></ul><ul><li>Prototype is a JavaScript Framework that aims to ease development of dynamic web applications. [apple, nbc, cnn, digg, microsoft, sony, symfony ] </li></ul><ul><li>script.aculo.us http://script.aculo.us/ </li></ul><ul><li>script.aculo.us provides you with easy-to-use ,  cross-browser  user interface  JavaScript libraries  to make your web sites and web applications fly [apple, cnn, rubyonrails] </li></ul>
  12. 12. Популярность JS- фреймворков Framework Rank jquery   1.00   MooTools 0.25 script.aculo.us   0.05
  13. 13. Часть II. Подробнее о платформах <ul><ul><li>Используемые языки разработки </li></ul></ul><ul><ul><li>Веб-серверы </li></ul></ul><ul><ul><li>Базы данных </li></ul></ul><ul><ul><li>Средства разработки </li></ul></ul>
  14. 14. LAMP
  15. 15. Языки *nix/Apache/MySQL/PHP (LAMP) <ul><li>Не только PHP, а ещё и Perl/Python/Ruby </li></ul><ul><li>Perl постепенно отмирает </li></ul><ul><li>Python и Ruby – экзотика </li></ul><ul><li>PHP 5 – самый популярный скриптовый язык для web на сегодняшний день </li></ul>
  16. 16. Веб-серверы *nix/Apache/MySQL/PHP (LAMP) <ul><li>Apache 1.3.х/2.х </li></ul><ul><ul><li>Известный и матёрый, стандарт де-факто </li></ul></ul><ul><li>Lighttpd  </li></ul><ul><li>Nginx (отечественная разработка!) </li></ul><ul><li>Очень быстрые, для отдачи мультимедийного контента </li></ul>
  17. 17. Базы данных *nix/Apache/MySQL/PHP (LAMP) MySQL 4.x/5.x PostgreSQL 7.x/8.x SQLite 3 Самая популярная Самая продвинутая Самая быстрая (и ограниченная по фичам)
  18. 18. Средства разработки *nix/Apache/MySQL/PHP (LAMP) Zend Studio Eclipse PDT Far + Colorer  $399 Профессиональный продукт с множеством полезной и удобной функциональности http://www.zend.com/en/products/studio/ Free Opensource ( под началом Zend) . Базовый функционал, но может быть вполне достаточен http://www.eclipse.org/pdt/ Free По-старинке, но до сих пор может быть эффективно http://farmanager.com/ http://colorer.sourceforge.net/farplugin.html
  19. 19. ASP.NET
  20. 20. Языки в ASP.NET <ul><li>C# - де факто основной язык </li></ul><ul><li>VB.NET </li></ul><ul><li>Phalanger, PHP 4 Mono (PHP for .net) </li></ul><ul><li>F#, J#, IronPython etc. </li></ul>
  21. 21. Веб-серверы ASP.NET <ul><li>IIS 5/6/7 </li></ul><ul><li>Родной сервер от Microsoft </li></ul><ul><li>Apache </li></ul><ul><li>XSP (Pure managed web-server) </li></ul><ul><li>MONO project </li></ul>
  22. 22. Базы данных ASP.NET <ul><li>MS SQL 2005 </li></ul><ul><li>SQL Express (Developer edition) </li></ul><ul><li>Oracle </li></ul><ul><li>MySQL </li></ul><ul><li>etc. </li></ul>
  23. 23. Средства разработки ASP.NET Microsoft OpenSource VS 2005/2008 – commercial Visual Web Developer 2005/2008 Express – FREE MonoDevelop (IDE for Linux/OS X) SharpDevelop (IDE for Windows)
  24. 24. Java
  25. 25. Google Web Toolkit (GWT) <ul><li>Google Web Toolkit (GWT) упрощает создание высокопроизводительных приложений AJAX. </li></ul><ul><li>Вы создаете интерфейс на языке программирования Java, а GWT компилирует исходный код в тщательно оптимизированный JavaScript. Создание веб-приложений – это утомительный процесс, в течение которого возникает много ошибок. 90% времени уходит на обработку особенностей браузеров, а недостаточная универсальность JavaScript делает совместное использование, тестирование и повторное использование компонентов AJAX сложным и ненадежным. Это неправильно! </li></ul><ul><li>JavaScript высокой производительности.  GWT создает приложения AJAX, которые: </li></ul><ul><ul><li>Загружаются быстрее, чем приложения JavaScript, написанные вручную </li></ul></ul><ul><ul><li>Используют меньший, более компактный, кэшируемый код </li></ul></ul><ul><ul><li>Автоматически поддерживают IE, Firefox, Mozilla, Safari и Opera </li></ul></ul><ul><ul><li>Правильно используют кнопку &quot;назад&quot; в браузерах </li></ul></ul><ul><li>Более удобные инструменты разработчика.  Работая в Java, можно использовать: </li></ul><ul><ul><li>Свои любимые IDE, например, Eclipse, IntelliJ и NetBeans </li></ul></ul><ul><ul><li>Отладку с полным набором функций, с переменными точками контроля и остановки </li></ul></ul><ul><ul><li>Модульные тесты (на основе JUnit) как в программе, так и в браузере </li></ul></ul><ul><li>http://gwt-ext.com/ - UI фреймворк на основе GWT. Фантастическая библиотека. </li></ul>

×