среда, 26 сентября 2012 г.

Casablanca или облачный C++

Я уже упоминал о проекте Casablanca в своем отчете о TechEd Europe.
На австралийском TechEd была сессия посвященная этой теме.

Что такое Casablanca и для чего она нужна. Изначально этот проект задумывался как C++ библитека для реализации Azure server-side сервисов. Итогом должен стать Azure SDK for C++ для написания полноценных end-to-end Azure приложений.
Для чего понадобилось писать C++ библиотеку? Ведь уже сейчас можно решать множество задач в Azure используя C#.
Ответ прост, и Microsoft использует его всегда, когда отвечает на вопросы о том, почему они вспомнили о C++:

  • близость к железу, отсюда производительность
  • портируемость кода
  • возможность использовать написанный ранее С++ код (они его называют legacy code, но мы помним, что так называется код без тестов :) )
Особенности реализации Casablanca показывают, что написана она была под влиянием новомодного Node.js
В слайдкасте на 16 минуте можно увидеть пример одного и того же приложения, написанного на Node и на Casablanca: практически 1:1
Почему Node привлекает? Это асинхронные операции, большое количество расширений и библиотек, а также простота реализации. Похожее попытались сделать и в Casablanca.

В библиотеке активно используются новшества C++11 (в первую очередь lambda). Возможно также использование новой библитеки PPL (Parallel Patterns Library)

Кроме этого Casablanca содержит классы для написания REST-сервисов и клиентов к ним, классы для работы c JSON, а также SDK for Azure Storage.
Насколько я понял REST и JSON можно использовать и без Azure (но буду подробнее читать в документации и надо попробовать).

Update: Casablanca официально зарелизили as C++ REST SDK. Пост с примерами. Пример использования этого API для подключения к Facebook.

Сам слайдкаст

Timeline:
до 8 мин:  вводная часть. Что такое Casablanca и зачем нужна
8-14 мин: демо, сервис Hello World :)
12 мин:     хорошо известная проблема с размером precompile header'a. Даже на демах об нее спотыкаются... мда
21-29 мин демо REST сервис на C++, работа с JSON (удобно кстати)

Дальше примеры использования облачных мощностей: сервис конвертации текста в речь, обработка изображений и тп.

ЗЫ если фотографии в одной из демок были сделаны во время сессии, то народа там было не густо :)

вторник, 25 сентября 2012 г.

Новости о Visual Studio 2012

Прошло почти 2 недели с момента релиза  Visual Studio 2012. Есть много довольных и недовольных. Мы пока пытаемся понять, как нам использовать знания и умения в новой среде.

И ждем обещанного апдейта с поддержкой Windows XP. Теперь обновления для студии будут выходить в виде update'ов.

Что же нового ждать в Update1?

  • Давно ожидаемая нами поддержка WinXP для приложений на С++
  • Канбан теперь можно использовать вместе со студией
  • Пакет для тестирования приложений для SharePoint
  • Мелочи в виде фильтрации юнит-тестов в Test Explorer, Code Map
  • Возможности совместной отладки managed и native кода для Windows Store-приложений
Подробности: "Visual Studio Update this Fall" и "Microsoft to crank up the Visual Studio tool-suite release pace". CTP test build обещали в конце сентября, а сам релиз к концу года. Ждем :) (Дождались!)


Кроме этого Microsoft зарелизил Visual Studio Express C++ для разработки десктопных приложений. Есть возможность БЕСПЛАТНО использовать все возможности C++ 11 в новой студии. Качаем здесь. Комментарии Herb Sutter'a.

Одно из нареканий на новую студию - это ее лаконичная раскраска. Если вам хочется настроить цвета под себя используйте следующую инструкцию или смотрите это видео. Ну и "как убрать большие буквы из меню студии" :)