Google App Engine или империя зла наступает 7
Свежая новость про новый сервис от Гугла. Я не удивлен — Гугл предлагает хостинг приложений. Вполне логичное развитие. Я в принципе давно этого ждал. Что хорошего и что плохого? Много писать не буду.
Хорошее — мощнейшая инфраструктура для хостинга и конечно поддержка приложений на Python ;-)
Плохое — такими темпами скоро «Интернет» == «Google». Я имею довольно приличный опыт в телекоме и хорошо понимаю, что бояться нужно совсем не того что Google индексирует все на свете и типа приватности скоро кирдык. А бояться нужно того, что Гугл сосредоточит большое кол-во интернет-траффика на себе и в результате сможет диктовать свои условия провайдерам. И скорее всего мы получим большое кол-во шаровых вещей в обмен на бесконечный поток контекстной рекламы... Так обычно Гугл и делает. Но не будем о грустном, время покажет.
Подробнее смотрите на страницах Гугла:
- Google App Engine - Google Code
- Google App Engine Blog: Introducing Google App Engine + our new blog
- Running Django on Google App Engine - Google App Engine - Google Code
Подкаст о веб-разработке 36
Сегодня важное событие у меня. Я наконец-то смог выродить подкаст о веб-разработке, который планировал оч давно записать. Даже не только планировал, но и пробывал. Итак, это моя третья попытка — более-менее удачная. Не могу сказать что я на 100% доволен результатом, но как говориться «первый блин можно и простить» :-)
Для меня намного важнее узнать ваше мнение, уважаемые читатели! На сколько вам был бы полезен вообще подкаст о веб-разработке. И о каких темах вы бы хотели услышать выпуски в будующем. Любые ваши комментарии (желательно конструктивные) будут мотивировать меня для дальнейшей записи. А так как я не диктор и не работал никогда на радио, дается мне сие записывание нелегко... Так что хотелось бы знать интересно ли будет что-то подобное для вас. Жду фидбека, а пока качайте 10 минутное mp3 весом в 14Мб :-)
Отдельный фид для подкаста скоро будет.
Update: сделал еще копию подкаста с битрейтом 128 на 10Мб
Пять инструментов 7
Долго не мог принять эстфаету от Ивана — 5 инструментов хе-хе. Загруз был последнее время, но буду исправляться. Написал свой скупой список из пяти наиболее используемых инструментов в работе. Кого что-то заинтересует более подробно — спросите в комментариях, с удовольствием расскажу.
MacBookPro — это действительно инструмент, такой как рубанок, дрель или лопата :-) Отличное устройство, я использую его мощь на полную катушку. Не буду особо распыляться как все круто, т.к. пиара маков в сети куча и без меня...
Из софта — TextMate. Это мега-удобный редактор. Программирую и пишу статьи в нем.
Шелл (shell) или терминал или командная строка — это то, что позволяет мне работать с файлами и процессами на компе эффективно.
Firebug — наше все для дебага javascript/ajax и css.
Зеленый чай с лимоном (особенно в холодное время года). Горячее меня бодрит и заставляет мозги думать лучше, плюс кофеин и витамин C из лимона поднимают тонус.
Пользовательский интерфейс в Web 3
Последний год я стал замечать что слово «юзабилити» стало проскакивать все чаще во всякого рода компьютерных публикациях рунета. Сейчас особо часто это слово замечается рядом с более нашумевшим «Веб 2.0». Все чаще слышатся оптимистичные заявления о переходе на приложения с веб-интерфейсом и в большинстве случаев имеются ввиду приложения Гугл.
И, как разработчик, я хотел бы представить читателю (который скорее всего является подобным мне разработчиком) свой взгляд на проблемы и решения создания веб-приложений и их интерфейсов.
Веб живет своей жизнью и жизнь эту можно отметить достаточно бурной эволюцией и развитием. Особенно последнии годы в период раздувания «Веб 2.0 пузыря». И самое интересное в этом развитии, то, что «атовизмы» отсыхают и отпадают не так быстро, как хотелось бы. А новые способности и возможности адаптируются и применяются наоборот достаточно медленно. Именно с этого я хочу начать свое рассуждение, т.к. считаю вопрос совместимости основным для успешного развития веб-интерфейсов. Я не буду приводить множество примеров о глючном IE или отличным рендерингом css-свойств в разных браузерах. Или взять тот-же флеш от Адоби, который, несмотря на долгую историю развития и мажорную версию 9, все еще преподносит немало сюрпризов.
Цель этой заметки — небольшая аналитка, собранная из личного опыта. Как построить удобный пользовтельский интерфейс для веба. Итак, мои советы.
Кроссбраузерная верстка. Не всегда дается легко, особенно при использовании сложного размещения блоков в дизайне. Но это первое и главное правило, если вы делаете проект в рамках обычного html интерфейса.
Не пугайтесь невалидного кода. Да, если можно делайте код красивым, но помните что код читают роботы, а сайтом пользуются люди. Поэтому чаще полезнее провести время в проектировании, тестировнии интерфейса или еще что вы посчитаете более важным.
Меньше используйте мешанины flash-html. Если вы хотите использовать флеш, сделайте на нем отдельную часть сайта, чтобы пользователь варился в ней как в отдельном приложении. Все дело в том, что флеш не учитывает особенностей исполнения интерфейса платформы на которой работает конечный пользователь. Поэтому контролы будут сильно отличаться внешне и по принципу работы, что будет раздражать пользователя. Пользователю легче привыкнуть к одному месту на сайте где все по другому, чем постоянно переключать внимание.
При использовании Ajax старайтесь всегда делать версию сайта, работающую в стиле old-school. Формы, поля, ссылки. В случае глюков или тормозов JS опытные пользователи всегда смогут перейти к обыкновенному режиму работы.
Используйте готовые JS/Ajax библиотеки. В них учтены уже кросс-браузерность и неровности работы JS. Писать «с нуля» свое слишком дорого и не оправдано.
Делайте сайты похожими на другие. Не надо клонировать дизайн или идеи. Я имею ввиду функциональные решения. Если есть тенденции их надо учитывать. Пользователю будет проще разобраться со всеми активными элементами сайта, если он их уже несколько раз встречал.
Пробуйте самые последнии и современные технологии веб, в которых уже учтены многие недостатки прошлых лет. На данный момент я имею ввиду декстопно ориентированные фреймвоки MS Silverlight и Adobe Air. Не обязательно вы их будете использовать в своих решениях, но быть «на коне» очень важно.
Bug or Feature?
Пост для поднятия настроения в понедельник :-)
Коллега вчера вечером прислал ссылку, я посмеялся и отправил товарищам по проекту. А сегодня утром подумалось, что будет весело всем.
via ehlo - by Luchian Alexandru
Социальные сети и виртуальные френды 7
Немного непрограммерской тематики не помешает :-)
Хочу наладить контакт, так сказать, со своей читательской аудиторией (как громко сказано :-)
Итак, ниже список моих профайлов в социальных сетях. Прошу меня зафрендить. Хочу знать своих читателей и быть «в контакте», как говориться.
Кто меня знает лично и может написать рекомендацию в LinkedIn – сделайте это плз. Со своей стороны обещаю отписать тоже.
Кто увлекается фото, тоже отметтесь в комментариях.
www.flickr.com/photos/dobrych
flickrbadgesource_txt {padding:0; font: 11px Arial, Helvetica, Sans serif; color:#666666;}
flickrbadgeicon {display:block !important; margin:0 !important; border: 1px solid rgb(0, 0, 0) !important;}
flickricontd {padding:0 5px 0 0 !important;}
.flickrbadgeimage {text-align:center !important;} .flickrbadgeimage img {border: 1px solid black !important;}
flickr_www {display:block; padding:0 10px 0 10px !important; font: 11px Arial, Helvetica, Sans serif !important; color:#3993ff !important;}
flickrbadgeuber_wrapper a:hover,
flickrbadgeuber_wrapper a:link,
flickrbadgeuber_wrapper a:active,
flickrbadgeuber_wrapper a:visited {text-decoration:none !important; background:inherit !important;color:#3993ff;}
flickrbadgewrapper {background-color:#ffffff;border: solid 1px #000000}
flickrbadgesource {padding:0 !important; font: 11px Arial, Helvetica, Sans serif !important; color:#666666 !important;}
www.flickr.com |
Профиль на toodoo.ru – зарегайтесь как читатели сайта пожалуйста (ну и френды само-собой).
Профиль в «Мой круг» – тут можете меня добавить в свой первый круг, будем знакомиться ближе :-)
Страница на «Хабре» – а тут мне не помешает хорошая карма, как начинающему.
Я сделал страницу со всеми моими основными контактами, так что пишите – буду рад пообщаться.
XML vs JSON: или как общаются современные веб-приложения между собой 6
Хочется высказать свою активную позицию насчет форматов передачи сообщений между приложениями в веб-среде. Или можете считать это просто настойчивым советом, особенно относящемуся к начинающим веб-разработчикам. Итак, что использовать? XML или JSON?
Общение (обмен сообщениями, если хотите) современных веб-приложений очень актуальная тема. В связи с появлением веб-сервисов в прошлом и огромным ростом популярности сложных (rich) интерфейсов в настоящем, появляется потребность в удобном и легком способе передачи данных между приложениями. Чаще всего подразумевается общение клиента и сервера. Частные случаи: всем полюбившийся Ajax, Flash/Flex приложения с динамическим контентом, API для публичных сервисов.
Так вот исторически сложилось что для этих задач использовался изначально XML, как универсальный способ описания любых данных. Но позже появился новый (популярный сегодня) формат – JSON. Про сам формат вы можете почитать в инете, благо информации достаточно. А вот свои субъективные плюсы и минусы я напишу ниже.
Плюсы JSON по сравнению с XML:
- быстрее парситься;
- легче визуально воспринимается;
- нативно интегрирован в JavaScript (читай Ajax);
К этому списку могу добавить отрывки личного опыта. С парсингом и валидацией XML есть достаточно много проблем, зависящих от библиотеки с которой вы работаете. Сериализация данных в JSON обычно в коде занимает меньше места, чем кодирование сериализации в XML. Интересным практичным моментом есть именно разработка Ajax интерфейсов, где JSON сокращает JS код. Большим плюсом к этому является возможность использования того-же протокола не только Ajax-ом, но и например Flash/Flex приложением или сторонним сервисом как API.
Вывод. Я считаю, что XML на самом деле не так уж плох и для общения между приложениями, но он лучше подходит для хранения сложно структурированных данных. А вот большим плюсом JSONа как раз является сокращение времени на разработку базового веб-приложения и его дальнейшей быстрой интеграции с другими разнородными приложениями. Еще проще говоря, если вы собираетесь заняться изучением или сразу использованием Ajax в своих проектах, обратите внимание на JSON и сэкономьте свое время.
PS о недостатках. Посмотрите статью Tim Bray и Don Box по теме.
UAWEB 2008
Вот я получил письмо о том, что конференция UAWEB переносится на март, см подробнее.
Что я могу сказать? Почитайте впечатления Ивана от конференции по python.
На самом деле людям не нужна “помпезность”, им нужны интересные доклады и общение.
Что ж хорошо, что как докладчик, я еще не убил кучу времени на подготовку… :-) После Нового Года займемся ;-)
Обзор софта, написанного с помощью Django (Python framework) часть первая
Давно хотел сделать подобный обзор, но не было времени нормально покапаться. Главное начать, вот и делаю первый выпуск. По мере нахождения новых интересных проектов буду писать еще.
- mnemosyne – свежее, недавно нашел. На сайте написано что это персональная Wiki с версией beta, но я её хочу попробовать для одного проекта документации. Отдельно поделюсь впечатлением.
- Diamanda Wiki and Forum – интегрированный форум и Wiki. Живой сайт, работающий на этом софте есть у самого автора Riklaunim’s TechBlog. Страница на SF.
- Feedjack – агрегатор новостей (feed) в формате atom или rss. Подобный своему брату Planet. Из преимуществ перед Planet стоит выделить умение работать с категориями и тегами, а также хранить полную историю ленты (feed).
Думаю для начала вполне хватит, уже есть еще один проект на следующий обзор, но о нем позже. По мере нахождения проектов буду стараться писать более детальный обзор.