Automatyka Budynku – Tworzenie Oprogramowa paneli sterujących i wizualizacji dla tabletów i smartphonów z systemem Windows 8

eHouse Inteligentny Budynek , Inteligentny Dom – programowanie i tworzenie oprogramowania dla paneli sterujących (PDA, Smartphony, Panele Dotykowe PC, Tablety), z systemem operacyjnym Windows 8 do zarządzania automatyka budynku

System operacyjny Windows 8 jest najmłodszym dzieckiem firmy Microsoft.
W chwili pisania tego artykułu nie ma jeszcze nawet wersji Beta systemu ani wersji komercyjnych. Dostępne są wersje dla developerów systemu i programistów. Pomimo tego faktu i ogólnie znanej zasadzie, że do nowych produktów firmy Microsoft należy się dotykać dopiero po wypuszczeniu pierwszego Serwis Pack’a jednak ze względu na bardzo wysokie noty tego systemu, bierzemy go nieco wcześniej “na warsztat”.

Według artykułów, opinii (mniej lub bardziej lobbingowanych i obiektywnych), oraz niezależnych testów wynika, że następca Windows 7 jest trochę bardziej wydajniejszy od poprzednika, oraz system operacyjny mniej obciąża procesor (wg danych Microsoft utylizacja procesora dla samego systemu operacyjnego spadła do 1% – system windows 7 miał tutaj ok 8-10%). Vista w tym przypadku jest jeszcze bardziej ociężała.

Takie rezultaty są porównywalne z systemem Android i dają Windows 8 realne szanse zastosowań w urządzeniach mobilnych nowej generacji. Pozwala to osiągnąć dłuższe czasy pracy urządzeń mobilnych, zasilanych z akumulatorów, oraz wydajniejszą pracę aplikacji na bardzo okrojonych procesorach stosowanych w tabletach, SmartPhonach, PDA w porównaniu ze standardowym komputerem PC.

Oprogramowanie Windows 8 jest dedykowane dla paneli dotykowych, smartphonów, tabletów jak i zwykłych komputerów PC, więc będzie pracowało “wieloplatformowo” – na różnych rodzajach procesorów, ilości rdzeni, zasobów sprzętowych, urządzeniach peryferyjnych, konfiguracjach systemu itd.
Android na razie ogranicza się do Tabletów, SmartPhonów, PDA nie zabierając ani kawałka tortu z rynku Microsoftu dla komputerów stacjonarnych (PC).

W tym kontekście tworzenie oprogramowania dla Windows 8 będzie miało znacznie większy zakres urządzeń sprzętowych, paneli, tabletów i komputerów dopóki nie pojawią się wersje systemu Android dla zwykłego komputera PC.

W przypadku Windows 8 pisanie aplikacji wieloplatformowych będzie znacznie łatwiejsze analogicznie jak miało to miejsce we wcześniejszych produktach firmy (np. Windows Mobile vs. Windows XP,Vista czy 7 dzięki wspólnemu środowisku .Net). W tym świetle można będzie pisać oprogramowanie dla wszystkich urządzeń sprzętowych opartych na jednym szablonie aplikacji, a stosując tylko wykluczenia dla wyjątków, które nie są obsługiwane na wybranych urządzeniach.
Daje to znacznie większy wybór urządzeń do sterowania automatyka domu i współdziałania z innymi programami dla platformy Windows 8.

Tworzenie oprogramowania na środowisku PC jest znacznie szybsze niż na emulatorze softwarowym telefonu komórkowego czy tabletu lub sprzętowo podłączonym urządzeniu do debugowania programu w czasie programowania. Tworzenie aplikacji bezpośrednio na komputerze PC przyśpiesza znacznie programowanie (5-10 razy), nawet przy bardzo dobrej znajomości narzędzi programistycznych i wymaganego języka programowania.

Znacznie łatwiej i szybciej jest napisać program np. dla środowiska .Net w języku C# pracującego na platformie WIN32 (czyli zwykły Pecet), a po przetestowaniu na zwykłym komputerze, przerobić wyjątki używając wykluczeń kompilatora (#ifdef itd.) dla innych platform sprzętowych.
Skalowalność takiego rozwiązania jest znacznie większa niż tłumaczenie kodu programu na inne języki programowania czy inne systemy operacyjne.

Można tu przytoczyć Javę, która pomimo szczytnej idei pracy aplikacji na dowolnym sprzęcie, wymagała różnych wersji aplikacji, appletów Java dla komputera PC i dla urządzeń mobilnych (Java MIDP – zwana jako Java Mobile).
Dodatkowo “tłumaczenie” kodu maszynowego Javy na język maszynowy procesora, zajmuje dużo mocy obliczeniowej i taka sama aplikacja napisana bezpośrednio dla systemu operacyjnego pracuje kilkukrotnie szybciej, niż pracująca na maszynie wirtualnej Javy do przetwarzania kodu przejściowego. Przy urządzeniach mobilnych powoduje to znacznie większy pobór mocy z akumulatorów zasilających i wielokrotne skrócenie czasu pracy urządzenia.
Są to powody, dla których producenci systemów operacyjnych dla urządzeń mobilnych, nie wspierają lub przestają rozwijać obsługę Javy np. Apple (OSx), Google (Android), Microsoft (Windows 8 ) co może zwiastować początek końca Javy MIDP dla SmartPhonów i tabletów.

Windows 8 posiada interfejs zoptymalizowany do obsługi urządzeń z ekranami dotykowymi, zrezygnowano z wielu gadżetów, cieni przycisków co też odchudziło system zwiększając jego szybkość i zużycie mocy obliczeniowej na witalne funkcje systemu.

Aby ten artykuł nie był czystą reklamą dla firmy Microsoft należy wspomnieć sporych o minusach:

  • Każda wersja Windows zawsze była płatna w przeciwieństwie do Androida
  • Oprogramowanie do programowania i środowiska programistyczne dla Androida są darmowe, dla Windows jak do tej pory zawsze były płatne i drogie
  • Oprogramowanie Android można instalować indywidualnie na panele i urządzenia, na razie Microsoft deklaruje możliwość instalacji tylko ze sklepu Microsoft. Może to ograniczyć tworzenie indywidualnego i własnego oprogramowania dla amatorów i ograniczyć możliwość tworzenia aplikacji niekomercyjnych i niskobudżetowych, oraz znacznie zwiększyć czas udostępniania aplikacji i nowych wersji oprogramowania.