• Save
Web programming modern tendencies
Upcoming SlideShare
Loading in...5
×
 

Web programming modern tendencies

on

  • 1,934 views

 

Statistics

Views

Total Views
1,934
Views on SlideShare
1,928
Embed Views
6

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 6

http://www.slideshare.net 6

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Web programming modern tendencies Web programming modern tendencies Presentation Transcript

  • ПЛАТФОРМЫ/СЕРВЕРЫ/ФРЕЙМВОРКИ Современные тенденции в веб-программировании
  • Часть I. Что современно?
    • Web 2.0
      • Веб-службы ( XML/JSON)
      • AJAX (Async JavaScript and XML)
      • RSS/Atom
      • Высоконагруженные проекты (соц. сети любого типа)
    • Фреймворки
      • .NET (ASP.NET, ASP.NET AJAX, ASP.NET MVC)
      • Java (JSF, IceFaces, jMaki, RichFaces)
      • PHP (Zend framework, CodeIgniter, Symfony)
      • JS (jQuery, MooTools, Prototype, script.aculo.us)
  • Технологии клиентской разработки
    • HTML 4/CSS 2/JavaScript 1.6
    • Никуда ничего не делось, всё по-прежнему актуально. Вёрстка в HTML+CSS, динамика – JavaScript . Табличная вёрстка ушла на покой, сейчас в моде «дивная» вёрстка ( css layout ).
    • Adobe Flash – Action Script/Flex
    • В веб-браузер внедряется ActiveX, внутри которого крутится мультимедиа-контент
    • Microsoft Silverlight
    • В веб-браузер внедряется ActiveX, внутри которого крутится мультимедиа-контент 
  • Платформы серверной разработки *nix/Apache/PHP (LAMP) Windows IIS/ASP.NET *nix/Apache/Tomcat/Java
    • Самая популярная платформа
    • Очень просто найти хостинг
    • Очень много документации, книг, примеров, фреймворков
    • Самая раскручиваемая платформа
    • Хостинг найти сложнее, чем для LAMP
    • Разнообразные non-GUI библиотеки, написанные для десктопа будут без изменений работать на сервере
    • Есть порт под Linux – MONO
    • Нерекламируемый соперник ASP.NET 
    • Найти хостинг ещё сложнее, да и не нужно – обычно выделенные серверы
    • Сильная поддержка со стороны Google (GWT – это нечто )
  • Популярность языков/платформ Framework Rank php   1.00 javascript 0.64 asp.net 0.23 Jsp   0.12 jsf 0.02
  • CMS vs CMF
    • CMS – Content Management System
    • Теоретически готовая к установке и работе система. На сегодняшнй день их больше тысячи, как коммерческих, так и бесплатных с открытым кодом.
    • CMF – Content Management Framework
    • Кирпичи с цементом. Чтобы сделать сайт на CMF , нужно прилично поработать. Известных фреймворков всего около двух десятков.
  • Задачи, решаемые CMS/CMF
      • MVC
      • Cache/Config/Load/Validate
      • Database management
      • Internationalization/Localization
      • Authentication/Autorization/Session management
      • Mail/Formats/Search
  • Базовые требования к CMS/CMF
    • Простота установки
    • Отсутствие «экзотики» в зависимостях
    • Удобство настройки шаблонов дизайна
    • Удобство управления различными типами контента
    • Удобство управления пользователями/правами доступа
    • Высокая производительность
    • Модульность (расширяемость функционала)
    • Мультиязычность фронтенда/бэкенда
    • Качественная документация
    • Дружественность к SEO
  • Фреймворки ( PHP)
    • Zend Framework (PHP5) http://framework.zend.com/
    • Наиболее грамотный фреймворк с точки зрения разработчика – стандарты разработки, подробная документация, покрытие тестами.
    • CodeIgniter (PHP4/5) http://codeigniter.com/
    • CodeIgniter is an Open Source Web Application Framework that helps you write kick-ass PHP programs. Заявлена высокая производительность, поддержка большого числа хостингов (в том плане, что не требует экзотики), качественная документация. Не требует PEAR ( PHP Extension and Application Repository ) .
    • Symfony (PHP5) http://www.symfony-project.org/
    • Качественный код, приличная документация. Декларирует нелюбовь к изобретению велосипедов, в следствии чего по макимуму использует библиотеки сторонних разработчиков. Использует PEAR, ORM Doctrine и т.д.
    • По работе с Symfony есть печатные издания.
    • CakePHP ( PHP4/5) http://cakephp.org/
    • Ещё один фреймворк из популярных/хороших . Имеет свой ORM. Из плохого – медленнее остальных. ( http://www.avnetlabs.com/php/php-framework-comparison-benchmarks )
  • Популярность PHP- фреймворков Framework Rank cakephp   1.00 symfony 0.82 zend framework   0.66 codeigniter   0.26
  • Фреймворки ( JS)
    • jQuery http://jquery.com/
    • 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 ]
    • MooTools http://mootools.net/
    • 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 ]
    • Prototype http://www.prototypejs.org/
    • Prototype is a JavaScript Framework that aims to ease development of dynamic web applications. [apple, nbc, cnn, digg, microsoft, sony, symfony ]
    • script.aculo.us http://script.aculo.us/
    • 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]
  • Популярность JS- фреймворков Framework Rank jquery   1.00   MooTools 0.25 script.aculo.us   0.05
  • Часть II. Подробнее о платформах
      • Используемые языки разработки
      • Веб-серверы
      • Базы данных
      • Средства разработки
  • LAMP
  • Языки *nix/Apache/MySQL/PHP (LAMP)
    • Не только PHP, а ещё и Perl/Python/Ruby
    • Perl постепенно отмирает
    • Python и Ruby – экзотика
    • PHP 5 – самый популярный скриптовый язык для web на сегодняшний день
  • Веб-серверы *nix/Apache/MySQL/PHP (LAMP)
    • Apache 1.3.х/2.х
      • Известный и матёрый, стандарт де-факто
    • Lighttpd 
    • Nginx (отечественная разработка!)
    • Очень быстрые, для отдачи мультимедийного контента
  • Базы данных *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 Профессиональный продукт с множеством полезной и удобной функциональности 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
  • ASP.NET
  • Языки в ASP.NET
    • C# - де факто основной язык
    • VB.NET
    • Phalanger, PHP 4 Mono (PHP for .net)
    • F#, J#, IronPython etc.
  • Веб-серверы ASP.NET
    • IIS 5/6/7
    • Родной сервер от Microsoft
    • Apache
    • XSP (Pure managed web-server)
    • MONO project
  • Базы данных ASP.NET
    • MS SQL 2005
    • SQL Express (Developer edition)
    • Oracle
    • MySQL
    • etc.
  • Средства разработки 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)
  • Java
  • Google Web Toolkit (GWT)
    • Google Web Toolkit (GWT) упрощает создание высокопроизводительных приложений AJAX.
    • Вы создаете интерфейс на языке программирования Java, а GWT компилирует исходный код в тщательно оптимизированный JavaScript. Создание веб-приложений – это утомительный процесс, в течение которого возникает много ошибок. 90% времени уходит на обработку особенностей браузеров, а недостаточная универсальность JavaScript делает совместное использование, тестирование и повторное использование компонентов AJAX сложным и ненадежным. Это неправильно!
    • JavaScript высокой производительности.  GWT создает приложения AJAX, которые:
      • Загружаются быстрее, чем приложения JavaScript, написанные вручную
      • Используют меньший, более компактный, кэшируемый код
      • Автоматически поддерживают IE, Firefox, Mozilla, Safari и Opera
      • Правильно используют кнопку "назад" в браузерах
    • Более удобные инструменты разработчика.  Работая в Java, можно использовать:
      • Свои любимые IDE, например, Eclipse, IntelliJ и NetBeans
      • Отладку с полным набором функций, с переменными точками контроля и остановки
      • Модульные тесты (на основе JUnit) как в программе, так и в браузере
    • http://gwt-ext.com/ - UI фреймворк на основе GWT. Фантастическая библиотека.