22
Эволюция разработки

Эволюция разработки (Ермаков Игорь), Форум технологий Mail.Ru Group

Embed Size (px)

DESCRIPTION

 

Citation preview

Эволюция разработки

Процесс развития, состоящий из постепенных качественных изменений, без резких скачков.

Эволюция

Википедия. «Эволюция»

• Хранение данных• Инструменты• Клиент разработка• Мобильная технологии

Эволюция в Mail.Ru

• Начало 1998 год• Perl• C• Apache 1.3 + mod_perl• MySQL 3.23

• Nginx? Nosql?

Экскурс в историю

Хранение данных

Mysql:

• Дешевизна• Простота• Привычность• Скорость

Скорость

• Неуправляемый кеш• Сброс всего при обновлении• Тяжелая реализации HEAP-таблиц

Memcached

NoSQL

• Производительность• Отсутствие «лишнего»• Масштабируемость• Богатство выбора

Tarantool, Redis, Cassandra, MongoDB

Языки разработки

• C/C++• Perl

• C#• Java• Php• asp .NET

Языки разработки

• Python• Ruby

• Django• Rails

А что в Mail.Ru?

• C• C++• Perl• Java• C#• Python• Ruby• Objective-c

Клиент. История.

• 1991 - http 0.9 текстовые страницы• Mosaic• GET /• Lynx – 1992

Клиент. История.

• 1991 - http 0.9 текстовые страницы• Mosaic• GET /• Lynx – 1992• Netscape3/IE3

Клиент. История.

Конец 90х:• HTML 3• DHTML/JavaScript• <Iframe• XMLHTTP Control от Microsoft в IE5• Flash• CSS

Клиент. История.

Середина 2000:• WebKit• Canvas• HTML 5• Ajax• Firefox + plugins• JS - фреймворки

Клиент. История.

Сейчас:• 5 браузеров• HTML 5 vs Flash• JS – библиотеки на любой вкус

Переписали клиент полностью

NodeJS + javascript

• Кросплатформенный код• Универсализация разработчиков• Доступность библиотек• Объектный язык с простым синтаксисом

NodeJS + javascript

var http = require('http'); http.createServer(

function (req, res { res.writeHead(200, {'Content-Type':

'text/plain'}); res.end('Hello World\n'); }).listen(1337, ”serv"); console.log('Server running at http://127.0.0.1:1337/');

Результат Эволюции

• JS• NoSQL• NodeJS• XHTML

• Perl• Mysql• Apache• HTML

Мобильные

• Низкая пропускная способность канала• WML• Слабые возможности телефонов

• XHTML• IE от Microsoft• Nokia s60• Opera

Мобильные

• Iphone + Safari• Android + WebView + V8 js engine+Flash• Ipad + Safari• Bada +WebKit+Flash• Windows Phone + IE mobile (ie9 engine)

Плохие новости

• Всего за 10 лет у нас поменялись технологии.• Высокопроизводительный сервис – требователен

к выбору• «Минимальный набор» сильно вырос• Специализация «кирпичиков».• Катастрофически расширился список устройств• Технологическое обновление сервиса раз в три

года

Игорь Ермаков[email protected]

СПАСИБО!