piątek, 29 kwietnia 2011

Subiektywne spojrzenie na sesje MIX11

Trudno byłoby obejrzeć 120 sesji (o ile mnie pamięć nie myli), więc musiałem dokonać jakiegoś wyboru. Zarówno wybór, jak i opinie nie będą tutaj obiektywne, reprezentuję obóz związany z Silverlight i Windows Phone –:) Nie oznacza to, że napiszę tylko o sesjach związanych z tą tematyką, ale będą stanowiły one najliczniejszą grupę w podsumowaniu.

Zacznijmy od najlepszych (spośród obejrzanych/przejrzanych przeze mnie) pozycji.

W kategorii Windows Phone są to:

W kategorii Silverlight są to:

Przejdźmy teraz do sesji, które nie są dla mnie topowe, ale mogą poszerzyć horyzonty, przynajmniej część z nich warto obejrzeć:

Sesje, które nie wzbudziły we mnie większego entuzjazmu lub wydały mi się dość słabe:

Do tej całej rozpiski załączam plik, w którym robiłem oceny i krótkie komentarze do poszczególnych pozycji. Nie obejrzałem wszystkiego w 100%, co zamierzyłem, trochę sesji w końcu sobie odpuściłem –:)

Ten post napisałem by jakoś utrwalić swoje subiektywne opinie o MIX 11, by gdzieś w szufladzie nie zaginęły, jak było w przypadku poprzednich eventów. Od połowy tego tygodnia jestem myślami w szczegółach Silverlight 5, ale o tym będą już inne posty.

poniedziałek, 18 kwietnia 2011

Mango i Silverlight 5 Beta !!!

Zainspirowany nowościami na MIX 11 postanowiłem reaktywować szybko bloga (a także drugiego w późniejszym czasie). Dla mnie najbardziej istotne są Mango (kodowa nazwa następnej wersji Windows Phone) oraz Silverlight 5 Beta. Obejrzałem na razie blisko 30 nagrań (robocze notatki w postaci screenshotów), z czego większość na temat tych dwóch zagadnień.

Postanowiłem sobie roboczo spisać nowe funkcjonalności i zmiany w Mango:

mangoSystem operacyjny

  • 16 dodatkowych języków (w tym polski)
  • Wyszukiwanie na liście aplikacji
  • Multitasking
  • Search Extras
  • IE9 z HTML5
  • Zarządzanie aplikacjami w tle
  • Lepsza wydajność (w tym nowy wątek Touch Thread)

Multitasking

  • Szybkie przełączanie między aplikacjami
    • aplikacja po dezaktywacji najczęściej pozostaje w pamięci (tylko to, zasoby są wtedy odpinane, wątki i timery usypiane)
  • Serwisy w tle
    • ScheduledActionService
      • Alarmy
      • Przypominacze
    • Zune Service (audio w tle - przeglądarka, własna aplikacja, obsługa panelu audio poprzez agenta audio)
    • BackgroundTransferService (pobieranie i upload)
  • Agenci w tle
    • periodic (PeriodicTask + ScheduledActionService)
    • on idle
  • Zarządzanie zasobami (na poziomie frameworka - odpinanie, przypinanie)

Taski

  • Numer telefonu
  • Adres
  • E-mail
  • Bing Map
  • Dzwonki

Sensory i kamera

  • GPS
  • Akcelerometr
  • Kompas
  • Żyroskop
  • Motion Sensor (na podstawie innych sensorów)
  • Kamery
    • Scenariusze
      • rozszerzona rzeczywistość
      • analiza obrazu np. wykrywanie kodu kreskowego
      • robienie zdjęć
      • nagrywanie video i audio
    • Nagrywanie
    • Bezpośrednia obsługa (w tym przycisku, focusa, flash, możliwość napisania własnej aplikacji do robienia zdjęcia/nagrania filmu, zdjęcie można zapisać w kategorii kamery)
    • 2 sposoby obsługi
      • PhotoCamera
      • Silverlight 4 API

Dostęp do danych

  • Lokalne baza danych na SQL CE
    • Generacja i upgrade bazy z poziomu kodu
  • Dostęp do kontaktów i spotkań
    • Tylko do odczytu
    • Asynchroniczne wyszukiwanie
  • LINQ to
    • SQL (DataContext, generacja bazy z poziomu kodu - tabele, kolumny, klucze, indeksy)
    • User Data
    • OData

Kafelki

  • API do lokalnej modyfikacji (pełna kontrola nad wszystkimi parametrami)
  • Wiele kafelków dla danej aplikacji (kafelki kontekstowe do danej strony w aplikacji, programowe dodawanie/usuwanie, dedykowane zdarzenia)
  • Kafelki dwustronne (strona background)

Notyfikacje push

  • Tile (dodatkowe pola dla strony background, precyzyjne wskazywanie kafelka po adresie)
  • Deep toast (wskazanie adresu do otwarcia w danej aplikacji)
  • Wydajność
  • Niezawodność
  • Limit powiększony do 30 endpointów
  • Przykłady dla Azure

Silverlight

  • Silverlight 4
    • engine
    • ogólne ulepszenia (style niejawne, rozszerzenia bindingu, komendy)
    • tekst (IME, zdarzenia TextBox)
    • media (obsługa kamery i audio, VideoBrush, poprawione oszczędzanie baterii przez MediaElement)
    • kontrolki (lepsza wydajność, RichTextBox, ViewBox, WebBrowser z IE9, ulepszenia w toolkicie)
    • schowek
    • komunikacja
      • sokety (TCP, UDP Unicast i Multicast)
      • inne (dostęp do pełnego nagłówka, obsługa wątków przez WebClient)
  • Ulepszenia w nawigacji
    • Możliwość usunięcia wpisu back z dziennika (co jest potrzebne w niektórych przypadkach)
  • Wsparcie dla wszystkich języków na telefonie
  • Podkreślanie niepoprawnych wyrazów na czerwono
  • Gesty na poziomie zdarzeń (Tap, DoubleTap, Hold)
  • Media (tryb 32 bit/pixel – co poprawia rysowanie gradientów, domyślnie 16)
  • Integracja z XNA
    • na poziomie strony i elementu
    • zaawansowane przypadki (nawigacja, texbox + klawiatura, wyświetlanie obrazu video i z kamery)
  • Wydajność (m.in listy)

Extras

  • Search
  • Muzyka
  • Zdjęcia

Narzędzia

  • Emulator
    • Emulacja akcelerometru i lokalizacji
    • Obsługa multi-touch
    • Screenshoty
    • Ingestion tool
    • Odtwarzanie H.264, AAC
    • Emulacja pamięci bardziej zbliżona do urządzenia
  • VS 2010
    • Multi-targeting
    • Nowy szablon dla multitaskingu
    • Debugowanie agentów w tle
    • Isolated Storage Explorer
    • Profiler (analizator wydajności)
  • Expression Blend
    • Multi-targeting
    • Wsparcie dla Visual Basic
    • Blend SDK
      • PathListBox
      • Shapes
      • Nowe zachowania
    • SketchFlow for Windows Phone (działa na desktopowym Silverlight)

Inne

  • ShellToast (możliwość wywołania systemowego komunikatu z ikoną, napisem i adresem który ma otwierać)
  • Visual Studio Async CTP
  • Klasa DeviceStatus (parametry urządzenia i aplikacji)
  • Klasa dla systemowego paska postępu (możliwość włączenia na pasku systemowym) 
  • MarketPlace Services
  • Pickers (?)

MarketPlace

  • Nowe formy dystrybucji
    • Beta (bez certyfikacji, do 100 osób, na 90 dni, kontrola dostępu, bez aktualizacji, darmowe)
    • Private (link wysyłany do wybranych ludzi, aplikacja nie jest znajdowana w publicznej wyszukiwarce, bez kontroli dostępu, darmowe/płatne)
  • Inne ulepszenia

O Silverlight 5 Beta napiszę później. Ten post będzie z pewnością aktualizowany (m.in w celu wprowadzania poprawek, uzupełnień).