Ważne

Zrozumieć Uniwersalne Aplikacje

O idei Universal Apps pisaliśmy na Tabletowo dużo (i mam na myśli DUŻO), ale do tej pory koncentrowaliśmy się na technicznych szczegółach, takich jak współdzielenie środowiska uruchomieniowego, kodu czy systemowych API.

W tym wpisie chciałbym skoncentrować się na innym aspekcie UWA (Universal Windows Platform), a mianowicie interfejsie użytkownika i nawigacji. Bez zrozumienia idei Microsoftu, dotyczącej projektowania UA, trudno zrozumieć dlaczego rozwiązanie proponowane przez MS ma być tak wyjątkowe i… uniwersalne. Należy pamiętać, że termin „Uniwersalne Aplikacje” był już używany w stosunku do niektórych appek Windowsa 8.1 i Windows Phone 8.1. Do tej pory jednak nie były to aplikacje prawdziwie uniwersalne.

Tworząc UA w Visual Studio dla platformy 8.1, powstawała solucja z trzema projektami – jednym dla Windowsa, drugim dla Windows Phone i trzecim – wspólnym kodem dla obu widoków. Według przedstawicieli Microsftu, pozwalało to na współdzielenie nawet do 80% kodu (wariant bardzo optymistyczny), ale wymagało tworzenia całkowicie odrębnych widoków dla obu platform i korzystanie z różnych API. Wynikiem pracy były również osobne paczki dla sklepów W8.1 i WP8.1. Mało tego, UA można było nazwać pary zupełnie niezależnych aplikacji, które współdzieliły ze sobą jedynie stan aplikacji czy gry w chmurze, a kod miały całkowicie osobny.

Gallo-blog-1-v2

Windows 10 całkowicie zmienia to podejście. Istotą jest tworzenie jednego kodu, korzystanie z jednego API i stworzenie jednej paczki z binarką i plikami pomocniczymi – dla smartfonów, tabletów, laptopów, desktopów, Xboxa, Huba, HoloLens czy urządzeń IoT. W tym momencie nasuwa się pytanie – jak to zrobić, skoro urządzenia te mają całkowicie różne wielkości ekranów i sposoby interakcji z użytkownikiem (dotyk, myszka, głos, pad,itd…)? Z pomocą przychodzą cztery główne elementy: Relative Panel, Effective Pixel, Split View i State Triggers, które wraz z innymi kontrolkami tworzą szeroko pojęty Adaptive UX, czyli interfejs adaptujący się do ekranu i urządzenia użytkownika.

RelativePanel

RelativePanel to kontrolka XAML-a (język/markup do tworzenia interfejsów w Visual Studio) pozwalająca na dowolne ustawianie elementów na ekranie relatywnie w stosunku do siebie, a nie w stosunku do krawędzi bocznych całego ekranu. W połączeniu z dynamicznym rozmieszczaniu elementów wewnątrz paneli, pozwala to na uzyskanie efektu, przypominającego HTML-owy „responsive design”. Stopniowo zwężając okno aplikacji elementy najpierw się zwężają, a potem zmieniają kolejność.

relative-panel1

Najprostszy przykład – mając dwukolumnowy layout „lewo-prawo”, przy zwężeniu szerokości aplikacji poniżej pewnego progu, rozmieszczenie elementów zmieni się na „góra-dół”. Lewa kolumna będzie na przykład na górze, a prawa na dole. Mało tego, poniżej pewnych szerokości możemy na przykład zdecydować, że pewne panele (elementy interfejsu) nie będą się wyświetlać w ogóle. I wszystko to bez konieczności pisania ani jednej linii kodu w C#. Wszystko załatwi markup w XAMLU, bez potrzeby ręcznego obkodowywania triggerów, które uruchamiałyby się wraz ze zmianami szerokości aplikacji/ekranu. Dzięki temu można tworzyć dynamiczne interfejsy, które dostosowują się do szerokości ekranu.

Effective Pixel

Jednak proste skalowanie, zwężanie i zmiana kolejności nie wystarczą. Gdyby to były jedyne mechanizmy, fonty i ikony oraz pozostałe elementy interfejsu, na małych ekranach byłyby zdecydowanie zbyt małe i nieczytelne. Windows 10 i platforma uniwersalnych aplikacji wprowadza jednak pojęcie „efektywnego piksela”, w odróżnieniu od fizycznego piksela, nie ma on wielkości absolutnej, a relatywną i zależy ona między innymi od średniej odległości, z jakiej oglądamy ekran dla danego urządzenia. Używając efektywnych pikseli przy określaniu wielkości elementów interfejsu (fontów, belek, ikon, itd…) znika nam problem zastanawiania się jak dany element będzie prezentował się na całej gamie urządzeń.

effectivePixels

Co to oznacza w praktyce? Projektant określa wielkość elementu w jednostkach px, ale mimo tego, że mają one wartość absolutną (np. 24px), to w praktyce, system operacyjny uwzględnia efekt skalowania i wielkość ekranu w taki sposób, żeby pozorna (postrzegana) wielkość elementu była taka sama bez względu na to, z jakiego urządzenia korzystamy. Oczywiście ten sam element na smartfonie może mieć 8 mm a na telewizorze 4 cm, ale dzięki różnicy wielkości ekranów i różnicy odległości z jakiej je oglądamy – cały interfejs będzie wyglądał podobnie.

Split View

Split View to kontrolka kontenera, który może być wykorzystywany między innymi do tworzenia hamburgerowych menu. Pomijam kwestię zasadności używania hamburgerów do nawigacji, bo to jak zwykle – „zależy od wielu czynników”, jednak udostępnienie natywnej opcji Split View w XAML-u to zdecydowane ułatwienie dla projektantów i programistów, którzy mimo wszystko lubią korzystać z hamburgerowych menu.

spl

Microsoft wzbogacił tę kontrolkę o kilka udogodnień i domyślnych zachowań. W zależności od wielkości ekranu, projektant decyduje czy menu ma być cały czas rozwinięte (duże ekrany) czy schowane (np. w smartfonch). Do tego, możemy korzystać z kilku dodatkowych trybów – wysuwane menu może albo „wypychać” wyświetlaną na ekranie treść albo ją zakrywać – oba z tych zachować w zależności od scenariusza użycia mogą być pożądane.

State Triggers

State Triggers to bardziej mechanizm dla projektantów i programistów, którzy chcieliby żeby ich aplikacje dynamicznie dostosowywały się do wielkości ekranu i urządzenia. Jest on mocno powiązany z kontrolką RelativePanel. Wyzwalacze stanu definiują progową wartość, dla jakiej ma nastąpić zmiana stanu wizualnego (layoutu). Na przykład składnia <AdaptiveTrigger MinWindowWidth=”720″ /> pozwoli na zdefiniowanie akcji, które mają się zdarzyć, w sytuacji gdy ekran będzie niemniejszy niż 720 efektywnych pikseli.

W najprostszych przypadkach, wyzwalane są zależności RelativePanel, a właściwie ich zmiany, na przykład sposób wzajemnego rozmieszczenia: <Setter Target=”best.(RelativePanel.AlignLeftWithPanel)” Value=”true”/>. Triggery te mogą też oczywiście wywoływać bardziej zaawansowane funkcje zapisane w C#.  Przykład użycia takiej składni XAML dla aplikacji sklepu:

code

Jak widać, tak naprawdę tworzone są osobne widoki. Nie są one jednak tworzone dla klas urządzeń, a dla poszczególnych relatywnych wielkości ekranu (effective pixels). Są też w jednym pliku, wygenerowane za pomocą prostej składni XAML-a, bez konieczności angażowania kodu C# i backendowych wyzwalaczy. Docelowo nie tworzą też osobnych paczek do poszczególnych sklepów. Od teraz jest tylko jedno Windows Store i jedna paczka z binakrami i assetami.

USA Today – studium przypadku

Nic jednak nie przemawia do wyobraźni tak mocno jak dobry przykład. Uniwersalna Aplikacja USA Today to moim zdaniem jedna z najlepszych dostępnych UA, a na dodatek znakomicie pokazuje wszystkie wymienione powyżej mechanizmy i kontrolki.

Strona główna – domyślnie hamburgerowe menu rozwinięte – Split View (duży ekran). Elementy (prostokąty) rozciągnięte równomiernie na całą szerokość.

USAToday(10)

Strona główna – po zwinięciu menu (tryb inline), dynamicznie pojawia się nam dodatkowa kolumna.

USAToday(11)

Pojedynczy artykuł – orientacja pozioma – tło

USAToday(12)

Pojedynczy artykuł – orientacja pionowa – tło znika, artykuł na całą szerokość

USAToday(13)

Bardzo mała (smartfonowa) szerokość. Menu automatycznie się chowa (tryb overlay)

USAToday(14)

Widok 50 na 50. Menu domyślnie ukryte. Po rozwinięciu wyświetla się w trybie overlay. Kolumny dwie, na całą szerokość.

USAToday(15)

Rozwinięte menu w trybie overlay

USAToday(18)

Widok pojedynczego artykułu w trybie 50 na 50. Mimo orientacji poziomej – brak tła

USAToday(17)

Czekaliście na podsumowanie? Tym razem go nie będzie. Ten wpis nie ma na celu chwalenia czy ganienia idei Uniwersalnych Aplikacji, a jedynie pokazanie idei i możliwości tego podejścia. A czy deweloperzy za tym pójdą to już zupełnie inna kwestia…

Jeżeli znalazłeś literówkę w tekście, to daj nam o tym znać zaznaczając kursorem problematyczny wyraz, bądź zdanie i przyciśnij Shift + Enter lub kliknij tutaj. Możesz też zgłosić błąd pisząc na powiadomienia@tabletowo.pl.

Komentarze

  • oloKK

    Jak zwykle klasa. Przystępnie, ale bez niepotrzebnego spłycania tematu.

  • wrox

    Co z tego że narzędzia fajne, jak nikt nie chce pisac dla Windowsa

    • Arnie

      po tygodniu od premiery już wiesz, że nie chcą??

    • Konrad Uroda-Darłak

      Nie uważasz, że „nikt’ to trochę za mocne słowo? Fakt, że takich osób jest relatywnie mało, ale to dalej nie oznacza „nikt” ^^

  • uru28

    Temat jak zwykle ciekawie opisany;) Pytanie co z tego wyjdzie…Obecnie aplikacje ze sklepu które śmigały aż miło na Win 8.1 chrupią a o płynności można pomarzyć.Domyślam się że buble typu nie działająca regulacja jasności zostaną poprawione,podobnie jak i płynność działania samego systemu choć z drugiej strony, w mojej opinii po co wypuszczać system który działa „miernie”…Na chwilę obecną Windows 10 jest dla mnie sporym rozczarowaniem właśnie ze względu na brak dopracowania do sprzętów. No i zmierzając do sedna, uniwersalne aplikacje są świetnym rozwiązaniem (o ile oczywiście będą wykonane w odpowiednim standardzie), pytaniem które wszędzie się pojawia czy developerzy będą pisać i czy będzie odpowiednia baza użytkowników i tu po raz kolejny Microsoft daje ciała bo zraża do produktu kolejnych użytkowników…W sumie to chciał bym żeby system działał płynnie, żeby dało się korzystać z aplikacji z których do tej pory korzystałem, a uniwersalne aplikacje to temat odległy i mglisty w chwili obecnej i to jest właśnie żenujące…

    • W zasadzie winić trzeba dostawców sprzętu i OEM-ów. Mój SP3 i SP2 mojego znajomego chodzą co najmniej tak wydajnie jak na 8.1, jeśli nie lepiej. Odwrotnie jest z laptopem Lenovo ojca czy jego stacjonarką. Jeśli jednak Intel, Nvidia, AMD i sami producenci nie wezmą się za korektę sterowników czy poprawki w firmware – będą pojawiać się słuszne narzekania. Jednak akurat w tym względzie MS ma najmniej do powiedzenia i może jedynie naciskać na swoich partnerów.

      • uru28

        Nie mam zamiaru wylewać żalów, ale kurcze to jak to się stało że win 8.1 chodził płynnie, ba jak to się mogło stać że taki win 8 chodził płynnie i to na sprzętach z nie czarujmy się słabą specyfikacją. Wiesz Piotrze że zazwyczaj opowiadam się w temacie jako „laik” choć tu nie trzeba być programistą żeby stwierdzić że coś jest bardzo nie tak… Ram bez uruchomionych aplikacji minimum 63% zajęte z czego procesy w tle to jakieś 12% a reszta to procesy systemu windows, Filmy i telewizja nie jest w stanie odtworzyć materiału w trybie pełnoekranowym bo zamiast video jest pokaz slajdów;)W zasadzie wszystko lub prawie wszystko działa poklatkowo. T200 gigantem wydajności może nie jest choć do tej pory nie miałem powodów do narzekań ale patrząc po opiniach to podobne bolączki dotykają sprzętów z o wiele lepszą specyfikacją.Wyjścia nie mam i i tak trzeba poczekać i mieć nadzieję że wraz z aktualizacjami temat zostanie ogarnięty aczkolwiek z mojej perspektywy jest to najmniej stabilna wersja windowsa jeśli chodzi o (aż boję się użyć tego sformułowania) płynność działania.Czy M$ miał mało czasu na dopracowanie pewnych kwestii?Piszesz o partnerach i korekcie sterowników czy poprawkach w firmware i zgodził bym się z Tobą gdyby nie fakt iż system oraz oprogramowanie zostało sprawdzone,a ja otrzymałem komunikat że wszystko jest zgodne, a jak widać nie jest…
        Ponieważ nie jest to sytuacja jednostkowa, swoją drogą ciekaw jestem jaka jest skala podobnych problemów ujmując globalnie,to myślę że M$ ponownie dostanie po tyłku i ponownie na własne życzenie. Gdyby nie fakt iż win 8.1 to droga bez przyszłości to myślę że całkiem sporo ludzi wybrało by właśnie powrót do 8.1 i przy nim pozostało.Patrząc na to w kontekście uniwersalnych aplikacji…Słabo to widzę…Wydaje mi się że lepiej oddalić premierę i dostarczyć produkt w pełni dopracowany niż narażać się na „lanie”.

        • Tomasz Lenartowski

          Ja wrócilem do W8.1 po tym jak coś wsyslo całe 8GB RAM i system zaczął ciąć. Oczywiście żaden proces się nie przyznał. Dla mnie to nie jest droga do nikąd. Na razie nie ma konieczności przenosin więc zobaczymy czy sytuacja się ogarnie za rok czy dwa.

          • uru28

            Po dociągnięciu aktualizacji (w tym nowych sterowników Intela) sprzęt przestał udawać kalejdoskop,a RAM jest w 48% zajęty,więc można powiedzieć że w normie.Na sam system nie mam co na razie narzekać, najpierw trzeba poużywać i się nauczyć, choć już teraz widzę że rozwiązania z 8.1 były o wiele bardziej „przyjazne” dla tabletów i obsługi dotykiem. Jest potencjał w win 10 i myślę że będą się ostro uwijać żeby ustabilizować wszystko tyle że jednak niesmak pozostaje….

          • Zajętością RAM-u bym się nie przejmował o ile nie jest to Edge/Chrome lub inne zasobochłonne procesy. Chodzi o tak zwaną dynamiczną alokację pamięci, w celu szybszego ładowania aplikacji, itd. Robi tak Android i od niedawna robi tak Windows. Cel – szybsze działanie systemu i ładowanie aplikacji. Jeśli wszystko chodzi jak należy – pamięć ta powinna się automatycznie zwalniać gdy potrzebna jest bieżącym aplikacjom.

          • Tomasz Lenartowski

            Jak mi zaczęło wszystko ciąć to zacząłem się przejmować. I przez wszystko rozumiem także np otwarcie menu start.

          • uru28

            Nie wiem czy jest to dokładnie ten sam sterownik co w SP3 ale ewidentnie po aktualizacji Intel Corporation driver update for Intel(R) HD Graphics od razu całość zaczęła pracować jak trzeba . W moim przypadku update robiłem dzień po instalacji Win 10 (nie wymuszałem procesu aktualizacji tylko poczekałem te kilka dni) ale ktoś kto musiał dłużej męczyć się ze sprzętem musiał być nieźle wkurzony. Masz racje z obciążeniem procesora bo w istocie co chwila dochodziło do 100% (dekodowanie video, grafika w grze). Firefox również przycinał niemiłosiernie. Ale po instalacji sterowników grafiki i KB3081424 wszystko się ustabilizowało (nawet regulacja jasności ekranu działa). Jak pisałem wcześniej myślę że mimo wszystko trochę się pośpieszyli, premierom OS najczęściej towarzyszyły różne wpadki ale po hype jaki został zrobiony wokół Win 10 myślę że mogli lepiej się przygotować.

          • Tomasz Lenartowski

            Nie wiem jak z tabletami ale na desktopie jest mi wygodniej na 10. Poczekam na łatki i sterowniki i za jakiś czas dam mu drugą szansę. Bo wirtualne pulpity

          • uru28

            T200 to akuratnie hybryda, a jeśli chodzi o tablet po odłączeniu doka to win 8.1 sprawdzał się lepiej… Jest to subiektywne odczucie i również fakt że dopiero ogarniam win 10 nie jest bez znaczenia….Jednak patrząc na sprawę pod kątem hybrydy czy laptopa win 10 już teraz wydaje mi się sporo lepszy niż 8.1
            Sam pomysł z możliwością zgłaszania opinii i uwag oraz oceny tych że jest super sprawą i jeśli faktycznie będzie brany pod uwagę przy kolejnych aktualizacjach to jest to strzał w 10tkę;)

        • Powszechne aktualizacje to broń obosieczna. Zadaniem Microsoftu było przygotować OS, zadaniem OEM-ów dostosować firmware, zadaniem producentów podzespołów – sterowniki.

          Są dwie drogi i nie mówię, że któraś jest lepsza. Jedna to droga Androida – oddać aktualizacje w ręce OEM-ów i operatorów. Pozwala to na gruntowne testy i optymalizację na poziomie sprzętowo-systemowym, ale ma to też ciemną stronę – producentom albo nie chce się aktualizować urządzeń wcale, albo trwa to miesiącami/latami.

          Drugą drogę wybrał Microsoft. Aktualizacje są powszechne, z pominięciem OEM-ów i operatorów. Plusy są oczywiste – każdy mógł mieć W10 pod koniec lipca i nie potrzebował niczyjej łaski. Wady? System ten musi współgrać z komputerami 20-letnimi, tabletami, laptopami, samoróbkami, itd… Program Windows Insider wyeliminował część błędów, ale na pewno nie wszystkie. W przypadku Surface, aktualki firmware dostaje średnio raz na 2-4 tygodnie i wszystko chodzi szybko, nawet lepiej niż na 8.1. Gorzej z producentami, którzy nie są tak skłonni do szybkich i aktywnych działań.

          Zgodzę się z tym, że proces walidacji urządzenia może był zbyt łagodny, ale znowu – za niego tak naprawdę odpowiadali producenci OEM.

          Kolejna sprawa to clean install. Wyjątkowo mało wygodne, ale moim zdaniem ,przy dużej zmianie jądra i powłoki systemu, chcąc największej wydajności – clean install jest najsensowniejszą opcją. Nie taka jest idea upgrade do W10, ale ja mam swoje zdanie na ten temat. Skoro Windows ma być „as a service” przez kolejne 5-10 lat, to (moim zdaniem) każdy powinien się przemęczyć robiąc czystą instalkę i stawiając system od zera.

          • uru28

            Bardzo ładnie, wręcz dyplomatycznie to opisałeś i jest w tym sporo racji nie mniej uważam że skoro M$ ma narzędzie które sprawdza czy konfiguracja jest odpowiednia to można było podać komunikat iż np.sterownik grafiki nie jest zgodny. Intel HD Graphics jest montowany w większości tabletów i hybryd, a partnerstwo Intela i M$ na tym polu nie jest okazjonalne to też nie przemawia do mnie argument o odpowiedzialności za takie zonki po stronie firm zewnętrznych. Nie mam zamiaru wylewać wiadra pomyj na M$, bo czym innym jest ocena systemu a czym innym proces jego aktualizacji. Jednak w nawiązaniu do tekstu zastanawiam się (i to bardzo) jakie są szanse na powstanie dobrych uniwersalnych aplikacji skoro M$ nie jest w stanie zapanować nad firmami przy tak kluczowej sprawie jak wypuszczenie nowej wersji systemu. Pytanie czy nawet jeśli „plan się powiedzie” i windows 10 zyska odpowiednią bazę użytkowników (a myślę że tak się stanie, choć może nie koniecznie tak szybko jak zakłada M$) to czy wystarczy to by developerzy pisali aplikacje pod windows w standardzie o jakim mówimy, czy jednak pójdą na łatwiznę portując soft z appstore czy play. Wydaje mi się że M$ na ten czas powinien pomyśleć o konkretnej zachęcie finansowej dla produkcji pisanych pod windowsa w standardzie uniwersal ponieważ inaczej bardzo średnio widzę powodzenie całego projektu…

          • Sterowniki Intela już dają radę, ale pytanie:
            1) czy oprogramowanie od Asusa je zassało w najnowszej wersji,
            2) czy firmware ASUS-a należycie je wykorzystuje.
            Praktycznie ten sam sterownik mam w SP3 i wszystko chodzi jak brzytwa. Co nie zmienia faktu, że wkurzałbym się, gdyby W10 zamulił mi maszynę do pracy. Ojciec na stacjonarce nie widzi zbytniej różnicy, ale laptop Lenovo z kartą Nvidii ma problemy z grafiką i zewnętrznymi ekranami.

            Jeśli chodzi o UA, to zgadzam się z… Nadellą. Rzucanie hajsu w deweloperów nie jest długoterminowym rozwiązaniem. Microsoft próbował tego przy okazji 8.1. Płacił za stworzenie bety. Koronnym przykładem jest Instagram na WP, który od 1,5 roku nie został zaktualizowany i nigdy z tej bety nie wyszedł. Deweloperów może przekonać jedna i oczywista rzecz – użytkownicy, którzy albo:
            1) aktywnie korzystają z aplikacji (wyświetlanie reklam),
            2) są w stanie zapłacić za aplikacje / dodatki / subskrypcje.
            A więc sama popularność W10 nie wystarczy. Potrzebna będzie jeszcze popularność sklepu W10, a te dwie rzeczy wcale nie muszą iść ze sobą w parze.

      • RA

        I znowu kowal zawinil, a cygana powiesili :(

        Nie moge zrozumiec tego jak MS wychowal sobie uzytkownikow, ktorzy beda przerzucac ewidetne jego bledy na innych. Na przyklad przyjelo sie tak, ze jak cos nie dziala w linuksie na specyfikacji nieprzystosowanej do tego systemu, to oczywiscie linux jest do d. Ale juz jak cos nie dziala w windowsie, to juz „winić trzeba dostawców sprzętu i OEM-ów”

        • Śmieszne powiedzonko ale pasuje do sytuacji jak świni siodło

          • RA

            No wiem, splodziles fachowy artykul o aplikacjach uniwersalnych a my niewdziecznicy piszemy o czym innym :(

          • Chodzi mi o zrzucanie winy na MS, bo Nvidia przez 8 miesięcy nie była w stanie napisać nowych sterowników i wzięła się za to dopiero po masowych narzekaniach użytkowników.

          • Joorre

            Wniosek? AMD Rulez!

  • barilla

    Jedna rzecz która jest dla mnie problematyczna w tym podejściu to ten cały ‚relative pixel’. Przez takie podejście na dużych ekranach elementy UI często są nadmiernie duże a ilość treści zbyt mała. Nie po to w końcu ludzie kupują duże monitory o wysokich rozdzielczościach, żeby widzieć na nich tyle samo co na dziesięciocalowym tablecie, tylko powiększone.

    • Przy telewizorach – tak. Ale z tego co się orientuję, relative pixel rozróżnia duży monitor od małego telewizora, nawet jeśli mają ten sam rozmiar.

  • bbg

    Okiem programisty: naprawdę zadziwia mnie ekscytacja autora tą technologią. Szansa na to ze się przyjmie i stanie powszechna jest bardzo mała bo:
    – na desktopie nie bardzo jest sens pisać uniwersalne appki bo podobne efekty można osiągnąć w webie (HTML + JS) i to od razu na wszystkie platformy. Ludzie wolą po prostu otworzyć jakaś stronkę niż szukać appki w storze.

    – do bardziej specjalistycznych zastosowań/korpo i tak się nie nadaje ze względu na ograniczony model aplikacji (sandbox) i api w stosunku do pełnego .neta i win32.

    – windows phone ze swoimi 3% rynku i ogólną słabością tego nie zmieni bo to za mała liczba userów, żeby napędzić platformę. A poza tym microsoft mocno odpuszcza ten segment ostatnio.

    – tablety z Windowsem to też w sumie nisza

    – na Xboxie ludzie raczej będą grać niż używać appek (appki to maja na smarfronach/tabletach/laptopach). Poza tym xbox one też mocno laguje za PS4 (2 do 1)

    – windows dla IOT czy HoloLens to mimo wszystko niszowe zastosowania (przynajmniej na ten moment).

    Wiec pytanie brzmi – po kiego grzyba się w to pchać jeśli nikt tego naprawdę nie chce. Technologia możne i fajna ale raczej skazana na porażkę tudzież marny/niszowy byt podobnie jak Windowsie 8/8.1.

    Chciałbym żeby było inaczej ale niestety tak to wygląda. Ma być niby uniwersalnie na wszystkie windowsowe platformy ale na żadnej z tych platform nie ma to za bardzo sensu.

    • 1. Rozwiązania natywne zawsze będą preferowane. Web appsy to gorsza wydajność i mniejsza integracja z systemem. Web appsy są bardziej w odwrocie niż natarciu.

      2. Których API i jakiego dostępu do niższych warstw systemu konkretnie Ci brakuje? W tym „ograniczonym API i piaskownicy” udało się stworzyć świetnego Wodra, Excela, OneNote’a Outlooka czy choćby Audible. Oczywiście UWP nie jest po to, żeby zastąpić desktopowe appki, ale żeby je uzupełnić. Zgodzę się, że UA to nie zawsze najlepszy pomysł do zastosowań specjalistycznych. Ale do korpo? Wręcz przeciwnie – dzięki sandboxingowi i wbudowanym mechanizmom bezpieczeństwa, to dużo lepsze rozwiązanie niż Win32/.NET.

      3. UWP to nie Windows Phone. Maszyny z W10 mają być lokomotywą tej platformy.

      4. jw.

      5. jw.

      6. jw.

      PS: Nie piszę, że UA osiągną sukces, a jedynie opisuję mechanizmy – odsyłam do ostatniego akapitu.

      • bbg

        1. Jakoś patrząc na rynek pracy i projekty robione w mojej firmie tego nie widać. Większść to applikacje webowe SPA robione w angularze. I większości są to intranety. Na desktopa nikt juz prawie nic nie robi – moze poza legacy systemami w instytucjach finansowych i retailowymi aplikacjami typu kiosk.

        2. Swobodnego dostępu do systemu plików? Klienta SQLa? WCFa (choć jego chyba dodali z powrotem w win 10 ale nie wiem napewno). Praktyczny brak komunikacji międzyprocesowej? Mozliwosci wywolywania funkcji web api? Masy bibliotek których nikt nie przepisal na profil metro/modern/universal/cokolwiek aktualnego?

        3 – 6. Jeśli Win 10 desktop ma byc lokomotywa a reszta to „dodatki” to po co to wielkie halo z „Universal”?

        • 1. Jeśli mówisz o rozwiązaniach ogólno-informatycznych to jasne. Webowe aplikacje i rak jakim jest AngularJS się panoszą na desktopach, laptopach, itd. Jeśli ograniczmy się do smartfonów to już preferencje zależą od firmy. U nas w robocie w ciągu 1,5 roku wdrożono ponad 3000 Lumii i 4 aplikacje LoB – natywne na Windows Phone (poszukiwani byli dotnetowcy). Oczywiście jest to wyjątek i wybrana sytuacja, ale nie wieszczyłbym śmierci rozwiązaniom natywnym, szczególnie dla appek konsumenckich.

          2. Swoboda albo bezpieczeństwo. Ja pracuję w sektorze ubezpieczeń i tu zdecydowanie wygrywa to drugie.

          3-6. Idea jest taka – W10 na laptopach i desktopach zachęca devów do klepania uniewrsalnych aplikacji, a dzięki temu wszystkie pozostałe platformy „w gratisie” dostają appki na smartfona, xboxa, hololens, itd. Nikt się nie łudzi, że Windows Mobile przyciągnie programistów do tworzenia UA.

Tabletowo.pl
Logowani/Rejestracja jest chwilowo wyłączona