czwartek, 12 marca 2015

ng-conf 2015 - cz.1

Pierwsza część podsumowania konferencji ng-conf.

 

ng-conf 2015 Day 1 Keynote - Brad Green and Igor Minar

1.4 RC0 next week

Material Design - lato “1”, potem dla “2”

https://angular.io/ - nowa strona dla “2”

migracja - wszystko na 2 lub interacyjnie

image

image

image

Angular 2 obecnie w stadium alfa

image

image

menadżer TypeScript gościem specjalnym

image

image

TypeScript (z annotacjami po współpracy) zamiast AtScript.

image

image

image

4 ogólne koncepcje zamiast 35 dyrektyw

spójność, wsparcie narzędzi, strefy (nigdy więcej $apply)

standardy (moduły ES6, Shadow DOM, …)

image

immutable data structures

image

image

 

The New Router Brian Ford

Omówienie nowego routera, który trafi nie tylko do Angular 2.0, ale także w pierwszej wersji do Angular 1.4.

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

Wersja 1.0 przy Angular 1.4, potem dalsze wersje.

image

image

image

 

Creating Container Components with Web Components and Angular Kara Erickson & Rachael L Moore

Powtórka z web komponentów. Raczej nie ma nic zaskakującego.

opcja: show user agent Shadow DOM

host.createShadowRoot()

host.shadowRoot.innerHTML = <>…</>  /* tagi <content /> – wstrzykiwanie, możliwość selekcji CSS <content select=”[head]” />, w użyciu:   <ot-site><div head>…</div><div menu>…</div></ot-site>

host.shadowRoot.innerHTML += <style> … </style>

Angular 1.3: 

ng-transclude wkleja całość, selekcja we własnym zakresie: dopasowanie po atrybutach części szablonu z częściami html otoczonego tagiem dyrektywy

angular.forEach(clone, function(cloneEl) {

       var tId = cloneEl.attributes[“t-to”].value;

       var target = temp.find(‘[t-id=”’ + tId + ‘”]’);

       target.append(clone);

});

dostęp do funkcji transclude w compile, controller, link

link:  transclude(function(clone) { … });

Angular 2.0:

component directive

image

image

image

 

TypeScript and ES6 Dan Wahlin & Andrew Connell

Ogólnie nic nowego, jeśli ktoś zna TypeScript

image

image

image

https://github.com/danwahlin

 

ng-conf 2015 Keynote 2 - Misko Hevery and Rado Kirov

Kolejny wykład wprowadzający do składni Angular 2.  Świetne demo w nowym TypeScript!

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

aplikacja jako komponent

image

image

image

image

image

image

własna dyrektywa

image

image

image

image

web component google-youtube

image

image

image

 

TypeScript and Angular 20 Jonathan Turner

Występ menadżera TypeScript (zakamuflował się Mac-kiem i Sublime). Angular 2 budowany jest obecnie przy pomocy TypeScript. Używanie TypeScript jest opcjonalne.

Plugin w Sublime (alfa) oparty na nowym cross-platformowym serwisie językowym.

image

image

image

node tsc/tsc.js todo.ts --module amd

image

image

http://github.com/microsoft/ngconf2015demo

wtorek, 10 marca 2015

Apache Cordova, mobilnego świata druga połowa - odc. 1: na dobry początek

Nie jestem bezkrytycznym entuzjastą mobilnych aplikacji Web. Jeśli chodzi o wydajność, user experience, interfejs użytkownika natywne aplikacje (C#/C++, Java, Objective-C/Swift) wciąż jawią mi się jako lepsze. Lepsza też  wydaje się płatna platforma Xamarin pozwalająca w C#/XAML osiągnąć nieraz w bardziej przyjazny sposób 100% funkcjonalności natywnych platform, w tym natywne UI (można używać bezpośrednio natywnych plików UI lub cross-platformowych Xamarin.Forms redenderujących natywnie).

Dobra, teraz pora na oddanie głosu swojej drugiej połowie. Pewien wyłom stanowią tu aplikacje HTML5/WinJS natywnie wspierane przez Microsoft w przeciwieństwie do innych platform. Urządzenia mają coraz lepsze procesory, coraz więcej pamięci RAM i trwałej. Dziś smartfony to komputery PC z nieco wcześniejszych lat. Poza tym czy zawsze najlepsze jest najlepsze dla konkretnego przypadku?  Jeśli mamy na przykład na pokładzie ekipę piszącą w bardzo popularnym dziś HTML5 i mamy już napisane aplikacje webowe, to czy chcemy poznawać C#, Javę, Objective-C/Swift? Ja bym na przykład  i tak chciał, ale ludzie są różni. Poza tym jeśli najważniejszym priorytetem jest czas i cena, to z pewnością najszybciej jest przerobić SPA z przeglądarki na aplikację hybrydową. Redukują się też znacznie późniejsze koszty utrzymania, jedna aplikacja zamiast trzech, a może prawie czterech (jeśli wliczyć aplikację w przeglądarce). Najbardziej popularną platformą do aplikacji tego rodzaju jest Apache Cordova. Natywne wtyczki zwane plug-inami są bazą do opracowywania przyszłych standardów Web. Tym darmowym rozwiązaniem Open Source zachwycił się też Microsoft. Obecnie Visual Studio 2013 i 2015 są zaopatrywane w rozwojowe wersji narzędzi dla projektów Apache Cordova. Mało tego ten sposób będzie jednym z oficjalnych sposobów tworzenia aplikacji na Windows 10 (oprócz natywnych). Poza czy nie jest piękne, że mamy coś, co odpalimy niemal wszędzie?

Działam sobie używając najnowszego Visual Studio 2015 CTP 6. Udało mi się uruchomić aplikacje na emulatorze Android (Ripple i tym z Visual Studio), iOS (na Mac OSX) i Windows Phone 8. Debugowanie działa mi pięknie na Android i iOS. Czemu nie wspominam o Windows 8.x/Windows Phone 8.1?  Aplikacje Windows Store też się pięknie debugują, ale ich wgrywanie na Windows 10 (gdzie mam VS 2015) zakończyło się u mnie niepowodzeniami. Potrzebuję zainstalować sobie omawiane Visual Studio na Windows 8.1.

Aby nie powtarzać, polecam nagrania z Channel 9:

Dużą część z nich prowadzi Kirupa Chinnathambi. To znana postać, która aktywnie rozwijała i promowała Blenda. Dziś zajmuje się narzędziami Visual Studio dla Apache Cordova.

Poniżej trochę moich notatek.

 

W przypadku Android nie ma problemów z uruchamianiem emulatorów przez Visual Studio (mamy także wygodne debugowanie)

W przypadku iOS potrzebujemy:

  • na OSX:
    • zainstalować narzędzia:  sudo npm install –g vs-mda-remote –user=$USER
    • wygenerować certyfikat:  vs-mda-remote generateClientCert  (wyświetlone zostaną informacje o hoście, porcie oraz PIN)
    • uruchomić agenta:  vs-mda-remote
  • w Visual Studio:
    • przejść do  Tools –> Options –> Tools for Apache Cordova –> Remote Agent Configuration
    • ustawić zdalne przetwarzanie na iOS na True, uzupełnić host (adres IP: w OSX na pasku systemowym ikona sieci –> Open Network Preferences), port, PIN

Aplikację na iOS też możemy wygodnie debugować aplikację z poziomu Visual Studio.

Aby nie było za różowo dodam, że przed instalacją vs-mda-remote musiałem zainstalować node.js z npm na OS X, a samo vs-mda-remote sypało mi błędami takimi jak w zgłoszeniu http://stackoverflow.com/questions/28598504/getting-error-running-vs-mda-remote.  Dopiero lektura tego wątku rozwiązała moje problemy.

Aplikacja na iOS z początku jakby nie chciała się debugować w Visual Studio, ale po pewnej chwili zaczęła.

Windows 8/8.1, Windows Phone 8.1:  debugowanie

Pluginy

  • iOS / Android /WP:  natywny kod + JS
  • Windows Store:  JS  (współpracuje z WinRT)

config.xml –> edytor konfiguracji –> Plugins:  Device.Motion

użycie akcelerometru:

function onDeviceReady() {

       …

       var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError,

         { frequency: 100 });

}

var x1 = 0;

function onSuccess(acceleration) {

          x1 = acceleration.x;

          …

}

function onError(reason) {

          …

}

messagebox:

navigator.notification.alert(‘Wiadomosc’, null, ‘Tytul’, ‘Ok’);

geolokalizacja:

navigator.geolocation.getCurrentPosition(function(position) {

         //position.coords.latitude

         …

});

Instalacja i obsługa z linii komend:

npm i cordova –g

cordova create <projekt>

cordova platform add android / windows8 / …

cordova emulate android

cordova run windows8

cordova plugin add org.apache.cordova.dialogs

 

P.S To na razie tyle “na dobry początek”. Ciąg dalszy nastąpi.

niedziela, 8 marca 2015

Windows 10 - co nowego

Obecnie mamy nieco spokojniejszy sezon. Tym niemniej pojawiają się różne drobne informacje, o których warto powiedzieć. Mamy jednoznaczną deklarację unifikacji platformy dla Windows 10 i  Xbox-a. Co prawda już teraz Xbox używał w środku Windows 8, przenoszenie części aplikacji było możliwe, ale teraz mamy coś zrobić raz i na wszystko. Następny build Windows 10 for phones ma wspierać większą ilość urządzeń. Wyciekły kolejne zdjęcia przeglądarki Spartan w akcji, a także screenshoty z buildu 10031. Ta wersja Windows poprawia obsługę gestów dla tabletów, ma transparentne menu Start i nowe okno logowania z okrągłym zdjęciem użytkownika. Pojawiają się też przecieki o nowym interfejsie podczas instalacji i usprawnieniach w przełączaniu między taskami.

wtorek, 3 marca 2015

Windows 10 - wiadomości dnia

Dziś też pojawiło się kilka newsów, z których zrobimy sobie podsumowanie. Dodatkowo chciałbym uzupełnić wczorajszą tematykę i to właśnie, od niej zaczniemy.

Wczoraj Microsoft opublikował pierwsze oficjalne zapowiedzi odnośnie tworzenia uniwersalnych aplikacji pod Windows 10.  Dużo powszechnie znanych ogólników, wśród których można wyłowić, że nowa uniwersalna platforma ma być totalnie na wszystko: aplikacje mobilne, desktopowe, HoloLens, Surface Hub, internet of things (np. Raspberry Pi). Ma skalować layout pozostawiając jednocześnie opcjonalną możliwość definiowania dedykowanych widoków na małe i duże ekrany. Obsługiwane mają być różne urządzenia wejścia - dotyk, ale i bardziej tradycyjne. Aplikacje mają być dystrybuowane w jednym pakiecie. Twórcy Web mają być docenieni poprzez możliwość łatwego zamienienia strony Web w pakiet, co daje możliwość korzystania z API platformy. Dodatkowo ma powstać specjalna gałąź dedykowana Windows 10 w Apache Cordova. Oczywiście tworzenie natywnych aplikacji w oparciu o technologie Web będzie nadal wspierane. Wspierane mają być też aplikacje z wcześniejszych systemów. W zapowiedziach brak wzmianki o .NET, C#, XAML. Nie wiemy, czy to przeoczenie (przed premierą Windows 8 też była mowa o HTML5, a jednak było to tylko webowe “skrzydło” platformy) czy jakiś początek większego ukierunkowania na technologie webowe. Na pewno technologie Web są tu najprostszym narzędziem do zapewnienia uniwersalności, w zasadzie nie trzeba nic tu już robić porównując ze stanem obecnym (nie licząc oczywiście ostatecznego scalenia i ujednolicenia WinRT API na wszystkie ekrany). Trudno jednak uwierzyć, aby przy obietnicach wspierania aplikacji z wcześniejszych Windows nagle postanowiono wyrzucić wsparcie dla C++, .NET, XAML, DirectX. Powstaje pytanie czy przygotowano uniwersalny XAML na wszystkie ekrany (sporo uniwersalnych kontrolek mamy już w Windows 8.1 i Windows Phone 8.1), czy też sobie to odpuszczono.

Z innych rzeczy warto wspomnieć, że zostało opublikowane nagranie z Spartanem i Cortaną w akcji:

Zwróćmy uwagę, że wczoraj prezentowany był Windows 10 for phones w nowszej wersji niż dostępna publicznie. Prezenter używał telefonu Lumia 930, który oficjalnie nie jest jeszcze wspierany.

Mamy też trochę zdjęć Windows 10  build 1022 z wycieku. Niestety poza nowymi ikonami nie zauważymy tam nowych funkcjonalności, poza pewnym retuszem UI do przełączania tasków i pulpitów.

Linki

poniedziałek, 2 marca 2015

Serwis info - Mobile World Congress, Windows 10, sprzęt

Dziś znów mamy taki dzień, że możemy coś zebrać i podsumować.

Na Mobile World Congress w Barcelonie podczas keynote zostały zaprezentowane nowe Lumie 640 i 640 XL. Można było zobaczyć przeglądarkę Spartan i uniwersalne aplikacje Office na Windows 10 for phones. Następny publiczny build Windows 10 będzie zawierał Spartana. Pokazana została również klawiatura Bluetooth, która może obsłużyć Windows Phone, Windows, Androida i iOS. Całość uzupełnił duży ekran do pracy zespołowej (w tym ciekawy scenariusz współpracy dwukierunkowej między urządzeniami) oraz HoloLens. Do premierowych rzeczy należy zaliczyć nowe Lumie, Spartana na Windows 10 for phones, odświeżonego Binga, nowe funkcjonalności w Office. W nienagrywanej części przybliżono też ideę aplikacji uniwersalnych na Windows 10.

Z takich tematów poza MWC mamy pierwsze bardziej konkretne przecieki związane z Windows 10 Server.