Pokazywanie postów oznaczonych etykietą TypeScript. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą TypeScript. Pokaż wszystkie posty

czwartek, 2 czerwca 2016

BUILD 2016 - odc.7 (Edge, ASP.NET Core 1, TypeScript)

Tym razem mały skok, co słychać w Web na BUILD. Na początek cztery pozycje. Zawierają co prawda w częsci znane już informacje, ale można obejrzeć, zwłaszcza o TypeScript i ASP.NET Core. Nową rzecz pokazano w TypeScript, tzw. typy nie-nullowalne (wnioskowanie typów przypomina Swift, podobnie operator! którego nie pokazano jeszcze na żywo). Poza tym mamy godne podsumowanie nowości z ostatniego roku w TS i inne nowe zapowiedzi na przyszłość. Wystąpienie z ASP.NET o ile jest pewną powtórką, o tyle jest to zrobione zgrabnie, a dodatkowo pokazano odpalanie na kontenerach (bazujących na Hyper-V)

 

Improving JavaScript Frameworks, Edge, & UWP Web Apps

Automatyczne testy dla aplikacji w Edge i UWP

Suite Pass Rates dla popularnych bibliotek

Poprawki w popularnych bibliotekach

 

Microsoft Edge: What's Next for Microsoft's New Browser and Web Platform

image

image

image

image

image

FIDO 2.0 - biometryczna autentykacja

 

Introducing ASP.NET Core 1.0

error page overhead, potrzebny moduł Microsoft.AspNet.Diagnostics

statyczne strony .html - moduł Microsoft.AspNet.StaticFiles

image

image

image

Redis

Działa także na konsoli bash na Windows 10

ASP.NET działa także na Raspberry Pi

image

VS: Add –> Docker Support

image

 

What's New in TypeScript?

image

image

image

bez wcześniejszej kompilacji, transpiler w System.js

image

image

image

refaktoryzacja markupu jsx

image

webpack: pliki .tsx automatycznie kompilowane i scalane w jeden plik js

image

async

image

image

serwisy językowe TS do czystych plików JS, analiza js doc

image

image

image

image

w JS można wywoływać funkcje z plików TS, można miksować

image

union types

image

strict null checks

image

image

image

image

image

image

typ jest inteligetnie ustalany w zależności od if-ów, jesli gdzieś nie ma szans aby było coś null-em to będzie w tym miejscu typ nie-nullowalny, takie rzeczy z typami kojarzą mi się ze Swiftem

image

image

image

image

== undefined:   undefined | null

image

image

image

wtorek, 2 czerwca 2015

BUILD 2015 (13 ost) - Web, VS 2015, Edge, EF 7, Roslyn, Multilingual App Toolkit

Ostatnia porcja sesji z tegorocznego BUILD, na jakiej zaczepiłem oko. Narzędzia web w VS nie zaskakują, natomiast już w Edge można odnaleźć trochę świeżo wprowadzonych udogodnień, o implementacji kolejnej porcji nowych standardów Web nie wspominając. EF 7 może niczym niezwykłym nie rozwala, ale wydaje się być poprawnie budowanym frameworkiem, który w obecnych czasach o wiele lepiej spełni oczekiwania niż wcześniesze wersje. Obecna czwarta edycja Multilingual App Toolkit wspiera nie tylko aplikacje uniwersalne Windows, ale także te pisane w Xamarinie.

 

Modern Web Tooling in Visual Studio 2015

bower: samo zapisanie pliku konfiguracyjnego uruchamia pobieranie pakietów

http://1drv.ms/1JbXTBJ

 

Entity Framework 7: Data for Web, Phone, Store, and Desktop

osobny komponent wspierający SQL Server

encja - klasa POCO

logowanie zapytań sql

integracja z niestandardowymi zapytaniami Sql

ef - polecenia z linii komend w ASP.NET

dodawanie własnej logiki przy zapisywaniu zmian

aplikacje uniwersalne w Windows 10:  EntityFramework.Sqlite

zapisywanie do lokalnej bazy przy braku łączności z siecią i późniejsza synchronizacja

demo: aplikacja desktopowa Mac + Postgress

demo: aplikacja Xamarin Forms, iOS 6

http://1drv.ms/1HE9Km7

 

.NET Compiler Platform ("Roslyn"): Analyzers and the Rise of Code-Aware Libraries

http://1drv.ms/1ADqi0N

 

The "Project Spartan" Rendering Engine That Makes the Web Just Work

dźwięk uzależniony od położenia

CSS filters

warunkowe CSS np. supports (filter: blur(28px))

srcset - ładowanie wskazanej wersji obrazka w zależności od gęstości pikseli

emulacja większego dpi na desktopie:  zoom (np. 200% = 2x) + refresh strony

foreign object - html wewnątrz svg

http://1drv.ms/1K2YNj4

 

Building a Single-Page App Using Angular and TypeScript Using Office 365 APIs

http://1drv.ms/1GPimue

 

What’s New in F12 for "Project Spartan"

F12 znajduje wszystkie instancje IE i Spartana, także hostowane w aplikacjach (np. Windows Forms, WPF)

nowe narzędzie do sieci, napisane w TS, używane także w VS, domyślnie włączone, z search po wszystkim

debugger - breakpointy dla strzałów sieciowych, logujące, dla zdarzeń, zatrzymujące; async call stack (np. strzał sieciowy)

asynchroniczna operacja dla zdarzenia DOMContentLoaded, także dla AddEventListener z click, podobnie przy xhr.onreadystatechange

lepsza nawigacja po źródłach np. TS

łatwe odniesienia do źródeł np. TS, SCSS

obsługa składni SCSS i nawigacja

pretty printing

nowy profiler JS, łatwe przechodzenie do źródeł

eksperymentalnie: edycja JS, CSS, inspekcja cookie, local i session storage

http://1drv.ms/1KJwnMh

 

Cross-Platform Localization with the Multilingual App Toolkit

wsparcie ostatniej wersji toolkitu także dla aplikacji Xamarin (z Xamarin Forms, ale także i bez - z natywnym UI w iOS i Android)

http://1drv.ms/1dKqjFU

niedziela, 31 maja 2015

BUILD 2015 (12) - JavaScript, TypeScript, C#6, ASP.NET 5, Visual Studio Code, .NET na platformach Linux i Mac

Tematyczne wyjście poza ścisły Windows 10. Porcja sesji poświęcona stricte technologii Web i .NET. O ile pokaz TypeScript nie okazał się zbyt zaskakujący, o tyle już na sesjach poświęconych rozwojowi JavaScript czy ASP.NET 5 można wyłowić czasem coś bardziej świeżego. C#6 po wcześniejszych pokazach przewidywalny, zmianki o C#7 tylko przez otwarcie strony z dyskusjami na github. Niewątpliwie warto zwrócić uwagę na oficjalne wydania .NET na urządzenia z Linux i Mac. Mono jest super (ostatnio zwłaszcza w kontekście urządzeń mobilnych), ale .NET w oficjalnych dystrybucjach został zaprojektowany z uwzględniem dużej wydajności i przepustowości, które są potrzebne dla aplikacji serwerowych. Visual Studio Code to faktycznie fajne narzędzie, aczkolwiek nie było czegoś, co by mnie rozwaliło, ogólnie spodziewałem się mniej więcej tego, co zobaczyłem. No może bogaty edytor (m.in z podpowiedziami z TS w czystym JS) zwrócił trochę uwagę i fakt, że użyto OmniSharp dla C#. Dobrze, że powstał edytor z elementami IDE ze stajni MS na wszystkie platformy, przy czym zasadniczo skorzystają na tym twórcy aplikacji Web (i konsolowych).

 

The Future of TypeScript: ECMAScript 6, Async/Await and Richer Libraries

http://1drv.ms/1FToCAr

 

Taking .NET Cross-Platform: Building .NET Applications on Linux and Mac

Linux: nie ma instalacji, wszystko w jednym folderze

http://1drv.ms/1dDpKO8

PInvoke w Linux!

 

Introducing ASP.NET 5

http://1drv.ms/1HZS8E1

ASP.NET 5 - znacznie mniej pamięci, podobnie jak node.js

docs.asp.net

nie ma folderu bin

praca na dwóch frameworkach – 4.5.1 i 5 Core

di w markupie

nowy sposób na definiowanie kontrolek przetwarzanych przez serwer: tagi takie same jak w podejściu klienckim, opatrzone m.in asp-for=”propercja z view modelu”

pliki konfiguracyjne json nie muszą być, mogą być też m.in pliki .ini  –;)

kontrolery jako klasy POCO

ASP.NET na Raspberry Pi

 

Visual Studio Code: A Deep Dive on the Redefined Code Editor for OS X, Linux and Windows

OmniSharp

gościnnie John Papa

intellisense rodem z TypeScript w czystym JavaScript

http://1drv.ms/1FgXOW2

 

Deep Dive into ASP.NET 5

bug w <cache> pretekstem do pokazania podpięcia i debugowania źródeł ASP.NET

ustawienia VS:  opcjonalne tworzenie pakietów przy budowaniu biblioteki i aplikacji konsolowej

cmd:  dnu build / dnu pack

domyślnie tag helper odpowiada elementowi o tej samej nazwie, można też ustawić jako atrybut

_GlobalImports.cshtml - deklaracje, w tym przestrzenie nazw dla tag helperów

tag helper - API async

http://1drv.ms/1KFtfRH

 

What's New in C# 6 and Visual Basic 14

definiowanie typów podczas modyfikacji kodu w trakcie debugowania

C# Essentials

http://1drv.ms/1FMcOPa

 

What’s New in JavaScript for Fast and Scalable Apps

wyrażenie lambda nie zmienia this

promises, iteratory i generatory

łapanie błędów z kodu asynchronicznego za pomocą try catch

co dalej?

Edge

asm.js - zoptymalizowany niewielki niskopoziomowy podzbiór JS, dla kompilatorów, kompilacja bez JIT

kompilacja C++, blisko natywnej wydajności

na platformie web dotąd brakowało SIMD

SIMD przy współpracy z Intel, niedługo dostępny w Edge

eksperymentalny build Edge

http://1drv.ms/1dEuC5u

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