Vilka problem har man historiskt sett haft med att kompilera dynamiska språk till Java bytekod? Vad fanns för work-arounds? Vilka andra roliga saker kan man göra själv med Invokedynamic?
Även om du bara har en vag bild på vad en bytekod överhuvudtaget är och varför du skall bry dig om en ny sådan så är det här en presentation som kommer att fördjupa din förståelse av Java på riktigt låg nivå.
TypeScript is a superset of JavaScript that adds optional static typing and class-based object-oriented programming. It allows for code completion, type annotations, and helps support AngularJS 2.0. Developed by Microsoft in 2010, it transpiles code into pure JavaScript. Its features include classes, modules, interfaces, generics, mixins, and declaration merging, providing syntax checking and preparing code for ES6 support.
Typescript: enjoying large scale browser developmentJoost de Vries
Programming with types has traditionally been something done on the server side.
For browser developers I show in my presentation how the type support in Typescript makes your life easier as your codebase increases.
For server side developers I explain what some of the challenges are when it comes to programming with types in the browser. And how Typescript adresses them.
Finally I show some of the cool useful features in Typescript 2.0 that go beyond what most server side languages offer right now.
It turns out that with enough code browser development and server side development have a lot in common.
Slides of a talk given at Join 2016, October 5th, Mechelen Belgium
An introduction to Typescript for programmers who use JavaScript.
It goes through what it is, what's it useful for, how to start using it and some things I've observed while using it.
Notes are not available but feel free to PM me if you have any question.
TypeScript is a superset of JavaScript that compiles to JavaScript. It adds optional static types, classes, and modules to JavaScript to enable scalable application development. TypeScript starts with and compiles to idiomatic JavaScript, so it runs in any browser or host on any OS. The TypeScript type system formalizes JavaScript's dynamic types through static representation and type inference, requiring few type annotations in practice. Classes and modules in TypeScript structure applications clearly and align with emerging ECMAScript standards. The open source TypeScript compiler and tooling like Visual Studio and Resharper support provide full static typing of libraries and source maps.
Vilka problem har man historiskt sett haft med att kompilera dynamiska språk till Java bytekod? Vad fanns för work-arounds? Vilka andra roliga saker kan man göra själv med Invokedynamic?
Även om du bara har en vag bild på vad en bytekod överhuvudtaget är och varför du skall bry dig om en ny sådan så är det här en presentation som kommer att fördjupa din förståelse av Java på riktigt låg nivå.
TypeScript is a superset of JavaScript that adds optional static typing and class-based object-oriented programming. It allows for code completion, type annotations, and helps support AngularJS 2.0. Developed by Microsoft in 2010, it transpiles code into pure JavaScript. Its features include classes, modules, interfaces, generics, mixins, and declaration merging, providing syntax checking and preparing code for ES6 support.
Typescript: enjoying large scale browser developmentJoost de Vries
Programming with types has traditionally been something done on the server side.
For browser developers I show in my presentation how the type support in Typescript makes your life easier as your codebase increases.
For server side developers I explain what some of the challenges are when it comes to programming with types in the browser. And how Typescript adresses them.
Finally I show some of the cool useful features in Typescript 2.0 that go beyond what most server side languages offer right now.
It turns out that with enough code browser development and server side development have a lot in common.
Slides of a talk given at Join 2016, October 5th, Mechelen Belgium
An introduction to Typescript for programmers who use JavaScript.
It goes through what it is, what's it useful for, how to start using it and some things I've observed while using it.
Notes are not available but feel free to PM me if you have any question.
TypeScript is a superset of JavaScript that compiles to JavaScript. It adds optional static types, classes, and modules to JavaScript to enable scalable application development. TypeScript starts with and compiles to idiomatic JavaScript, so it runs in any browser or host on any OS. The TypeScript type system formalizes JavaScript's dynamic types through static representation and type inference, requiring few type annotations in practice. Classes and modules in TypeScript structure applications clearly and align with emerging ECMAScript standards. The open source TypeScript compiler and tooling like Visual Studio and Resharper support provide full static typing of libraries and source maps.
The document describes how a designer used various tools in Photoshop to layout and design an interview publication. The designer used rectangle, text, and shape tools to place images, add page numbers, write questions and answers, and create formatting elements like columns. Guidelines were also used to help layout text across a double page spread. Additional images were overlaid and an album cover was designed and copied into the project.
Building Angular 2.0 applications with TypeScriptMSDEVMTL
Groupe .NET/ASP.NET - Building Angular 2.0 Applications with TypeScript
Bill Wagner
21 mars 2016
Come learn to build next generation web applications using the most modern tools: Angular 2.0 and TypeScript.
Angular 2.0 will be built using the TypeScript language. It will embrace TypeScript's idioms for working with immersive web experiences in larger applications.
You can get those same benefits by working with TypeScript and Angular together. In this session, you'll learn how Angular 2.0 and TypeScript work together to create single page applications. You'll see how you can leverage the features of ECMAScript 6, and still support today's browsers. You'll see how adopting TypeScript can be as easy as changing the extensions on your .js files. How you use the TypeScript features is completely in your control.
Even if you are not ready to move to these tools yet, learn what's in store in the future.
TypeScript is a strict superset of JavaScript that adds optional static typing and classes to the language without limiting JavaScript functionality. It allows for compile-time checking of code and outputs plain JavaScript that runs on any browser or JavaScript engine. TypeScript supports classes, modules, interfaces and other features to help organize large applications, while also allowing for optional type annotations that enable type checking and catch errors.
This document summarizes an introduction to the TypeScript language presented by Gil Fink, CEO of sparXys. The presentation covered:
1) Why TypeScript was created as a typed superset of JavaScript that compiles to plain JavaScript.
2) Key TypeScript features like classes, modules, interfaces and static typing that allow for code encapsulation and maintainability.
3) How TypeScript supports standard JavaScript as well as features from future versions like ES2015/6.
4) Resources for learning more about TypeScript including the TypeScript website and GitHub repository.
This document introduces TypeScript and provides an overview of its key features. It discusses why TypeScript was created due to issues with JavaScript like dynamic typing and lack of modularity. It also covers TypeScript features like optional static types, interfaces, classes, modules and how it compiles to JavaScript. The presentation concludes by noting TypeScript allows gradual adoption and that application scale JavaScript development is difficult but TypeScript makes it easier.
Upgrading JavaScript to ES6 and using TypeScript as a shortcutChristian Heilmann
This document discusses upgrading JavaScript to ES6 and using TypeScript as an alternative. It covers some of the old issues with JavaScript, the learning process, tooling challenges, and dependency on libraries/frameworks. ES6 promises to address many of these with new features, but browser support is still evolving so transpilation is needed. TypeScript is presented as a shortcut that provides type safety and class-based syntax without transpilation overhead. The document also mentions the ChakraCore JavaScript engine as a promising new development.
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. It allows for large scale JavaScript application development with features like classes, inheritance, modules, generators, async/await, and decorators. TypeScript introduces strong typing, interfaces, generics, and other design-time features not available in JavaScript to reduce complexity in large codebases. It supports the future of JavaScript by allowing the use of ES6 and ES7 features today through compiler options. Getting started is easy using the TypeScript playground or boilerplate projects on GitHub.
Not so long ago Microsoft announced a new language trageting on front-end developers. Everybody's reaction was like: Why?!! Is it just Microsoft darting back to Google?!
So, why a new language? JavaScript has its bad parts. Mostly you can avoid them or workaraund. You can emulate class-based OOP style, modules, scoping and even run-time typing. But that is doomed to be clumsy. That's not in the language design. Google has pointed out these flaws, provided a new language and failed. Will the story of TypeScript be any different?
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. It adds static typing and structuring mechanisms like classes, interfaces, and modules to JavaScript to help catch errors and provide better documentation for large scale JavaScript application development. Some key features of TypeScript include optional static types for functions and variables, classes with inheritance and static methods, interfaces, modules, generics, and type inference.
Александр Русаков - TypeScript 2 in actionMoscowJS
В докладе речь пойдет об основных нововведениях TypeScript 2.0 и 2.1 (literal types, discriminated unions, mapped types...) и их использовании в реальных проектах.
The slides I was using when delivering a one day seminar for learning the TypeScript programming language. The seminar was delivered as part of the Expert Days 4 days conference that took place in 12/2015 in Israel.
More information about the Front End Development course I deliver can be found at fed.course.lifemichael.com
- Typescript improves on JavaScript by adding optional static typing, classes, interfaces and other features to address issues like lack of block scope and type safety.
- It compiles to plain JavaScript that runs on any browser or platform, allowing use of type checking without limiting deployment targets.
- Many companies have adopted Typescript for its readability, code navigation, refactoring and ability to scale to large codebases with many developers.
Introduction to TypeScript by Winston LeviWinston Levi
TypeScript is a superset of JavaScript that compiles to JavaScript. It adds optional static typing, classes, and interfaces to JavaScript to help catch errors. TypeScript code is converted to JavaScript at compile time. There are three versions of ECMAScript that TypeScript works with - ES3, ES5, and ES6. TypeScript allows for both static and dynamic typing through features like type declarations and generics.
The document describes how a designer used various tools in Photoshop to layout and design an interview publication. The designer used rectangle, text, and shape tools to place images, add page numbers, write questions and answers, and create formatting elements like columns. Guidelines were also used to help layout text across a double page spread. Additional images were overlaid and an album cover was designed and copied into the project.
Building Angular 2.0 applications with TypeScriptMSDEVMTL
Groupe .NET/ASP.NET - Building Angular 2.0 Applications with TypeScript
Bill Wagner
21 mars 2016
Come learn to build next generation web applications using the most modern tools: Angular 2.0 and TypeScript.
Angular 2.0 will be built using the TypeScript language. It will embrace TypeScript's idioms for working with immersive web experiences in larger applications.
You can get those same benefits by working with TypeScript and Angular together. In this session, you'll learn how Angular 2.0 and TypeScript work together to create single page applications. You'll see how you can leverage the features of ECMAScript 6, and still support today's browsers. You'll see how adopting TypeScript can be as easy as changing the extensions on your .js files. How you use the TypeScript features is completely in your control.
Even if you are not ready to move to these tools yet, learn what's in store in the future.
TypeScript is a strict superset of JavaScript that adds optional static typing and classes to the language without limiting JavaScript functionality. It allows for compile-time checking of code and outputs plain JavaScript that runs on any browser or JavaScript engine. TypeScript supports classes, modules, interfaces and other features to help organize large applications, while also allowing for optional type annotations that enable type checking and catch errors.
This document summarizes an introduction to the TypeScript language presented by Gil Fink, CEO of sparXys. The presentation covered:
1) Why TypeScript was created as a typed superset of JavaScript that compiles to plain JavaScript.
2) Key TypeScript features like classes, modules, interfaces and static typing that allow for code encapsulation and maintainability.
3) How TypeScript supports standard JavaScript as well as features from future versions like ES2015/6.
4) Resources for learning more about TypeScript including the TypeScript website and GitHub repository.
This document introduces TypeScript and provides an overview of its key features. It discusses why TypeScript was created due to issues with JavaScript like dynamic typing and lack of modularity. It also covers TypeScript features like optional static types, interfaces, classes, modules and how it compiles to JavaScript. The presentation concludes by noting TypeScript allows gradual adoption and that application scale JavaScript development is difficult but TypeScript makes it easier.
Upgrading JavaScript to ES6 and using TypeScript as a shortcutChristian Heilmann
This document discusses upgrading JavaScript to ES6 and using TypeScript as an alternative. It covers some of the old issues with JavaScript, the learning process, tooling challenges, and dependency on libraries/frameworks. ES6 promises to address many of these with new features, but browser support is still evolving so transpilation is needed. TypeScript is presented as a shortcut that provides type safety and class-based syntax without transpilation overhead. The document also mentions the ChakraCore JavaScript engine as a promising new development.
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. It allows for large scale JavaScript application development with features like classes, inheritance, modules, generators, async/await, and decorators. TypeScript introduces strong typing, interfaces, generics, and other design-time features not available in JavaScript to reduce complexity in large codebases. It supports the future of JavaScript by allowing the use of ES6 and ES7 features today through compiler options. Getting started is easy using the TypeScript playground or boilerplate projects on GitHub.
Not so long ago Microsoft announced a new language trageting on front-end developers. Everybody's reaction was like: Why?!! Is it just Microsoft darting back to Google?!
So, why a new language? JavaScript has its bad parts. Mostly you can avoid them or workaraund. You can emulate class-based OOP style, modules, scoping and even run-time typing. But that is doomed to be clumsy. That's not in the language design. Google has pointed out these flaws, provided a new language and failed. Will the story of TypeScript be any different?
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. It adds static typing and structuring mechanisms like classes, interfaces, and modules to JavaScript to help catch errors and provide better documentation for large scale JavaScript application development. Some key features of TypeScript include optional static types for functions and variables, classes with inheritance and static methods, interfaces, modules, generics, and type inference.
Александр Русаков - TypeScript 2 in actionMoscowJS
В докладе речь пойдет об основных нововведениях TypeScript 2.0 и 2.1 (literal types, discriminated unions, mapped types...) и их использовании в реальных проектах.
The slides I was using when delivering a one day seminar for learning the TypeScript programming language. The seminar was delivered as part of the Expert Days 4 days conference that took place in 12/2015 in Israel.
More information about the Front End Development course I deliver can be found at fed.course.lifemichael.com
- Typescript improves on JavaScript by adding optional static typing, classes, interfaces and other features to address issues like lack of block scope and type safety.
- It compiles to plain JavaScript that runs on any browser or platform, allowing use of type checking without limiting deployment targets.
- Many companies have adopted Typescript for its readability, code navigation, refactoring and ability to scale to large codebases with many developers.
Introduction to TypeScript by Winston LeviWinston Levi
TypeScript is a superset of JavaScript that compiles to JavaScript. It adds optional static typing, classes, and interfaces to JavaScript to help catch errors. TypeScript code is converted to JavaScript at compile time. There are three versions of ECMAScript that TypeScript works with - ES3, ES5, and ES6. TypeScript allows for both static and dynamic typing through features like type declarations and generics.
EPiServer, Drupal, Django, Wordpress, Sharepoint, Sitecore, Umbraco... När det gäller CMS och webbramverk är verktygslådan stor! Hur vet man vad man ska välja? Står valet mellan open-source-produkter eller kommersiella produkter eller finns det fler parametrar som spelar in?
I denna första genomgång av den tekniska verktygslådan guidar Pär Fröberg och Mattias Uhlegård dig genom CMS- och webbramverksdjungeln. Vi kommer att berätta om för- och nackdelar med de plattformar som vi på Creuna arbetar mest med och vilka trender vi ser framöver.
Pär Fröberg CTO Creuna
Mattias Uhlegård System Architect Creuna
Testare i continuousvärlden - vad gör jag om dagarna.ADDQ
Vad är egentligen Continuous och DevOps? Men framför allt, hur uppnår man kvalité och vad gör man som testare i ett sånt team?
Hur arbetar man egentligen med test om man släpper kod flera gånger om dagen?
Hur QA säkrar man all automation som krävs i och med devOps?
Välj rätt i teknikdjungeln - Del 1: CMS och webbramverkCreuna Sverige
EPiServer, Drupal, Django, Wordpress, Sharepoint, Sitecore, Umbraco... När det gäller CMS och webbramverk är verktygslådan stor! Hur vet man vad man ska välja? Står valet mellan open-source-produkter eller kommersiella produkter eller finns det fler parametrar som spelar in?
[23video id="8971811"]
I denna första genomgång av den tekniska verktygslådan guidar Pär Fröberg och Daniel Wroblewski dig genom CMS- och webbramverksdjungeln. Vi kommer att berätta om för- och nackdelar med de plattformar som vi på Creuna arbetar mest med och vilka trender vi ser framöver.
Pär Fröberg, CTO Creuna
Daniel Wroblewski, Technology Manager Creuna
2. Why should I care of yet another language?
This session shows what pains are addressed
and what you can benefit from, with a very
small investment of your time and skill set.
Anyone using JavaScript today and is getting
frustrated in trying to keep order in an ever
growing heap of JavaScript will love the simple
idea behind TypeScript!
3. Agenda
• JavaScript?
• Server-side vs Client-side
• Frameworks
• Ordning och reda med TypeScript
• Kom igång med TypeScript
• Varför behöver jag TypeScript, på riktigt?
• Get going, it is great fun!
4. Micael Herkommer
• Webbutveckling sedan klassisk ASP
• Backend och integrationsfokus
• WPF
• ALM/TFS
• Tidigare JavaScript-motståndare
5. Utveckling, mest Webb
• Kort tillbakablick
– ASP, ASP.NET, MVC, MVVM
• Mönster och ramverk
• JScript
• JavaScript är ingen ny fågel, utan en Fenix!
• Behov av snabb repsons och flexibel UX
• SPA (Single Page Applications)
7. • CommonJS
• RequireJS (Module loader)
• AMD (Asynchronous Module Definition)
• Modernizr (feature detection)
• ExpressJS (MVC Server-side)
och många många fler…
8. Backend vs Frontend Developers
• Normally don’t mix and play
• Flytande gränser idag
• jQuery banade väg
• Kundernas krav på bättre UX
• Svårt att lyckas utifrån endast Server-side
9. JavaScript to the rescue
• Alla kan, alla kan lära
• Funkar i alla webbläsare och annat
men...
• Dynamiskt och okompilerat
• Så lätt att komma igång och se resultat snabbt
• Oerhört svårt att underhålla över tid
10. Nästa version av JavaScript…
• Många vill ersätta JavaScript
– CoffeeScript
– DART (Google)
• Allmän trend
– LESS, SASS m.fl. (pre-compilers)
• ECMAScript (EC3, EC5 och EC6)
– Open Standard
11. TypeScript gör entre hösten 2012
• Microsoft upplever Pain
• Exempelvis TS2012 och Office Live 365
• Eric Gamma, Anders Hejlsberg & team
• Hantera 100K+ rader av JavaScript (TFS2012)
• Dogfooding
• Fortfarande i Beta version
• Open Source (CodePlex)
12. TypeScript Definition:
• TypeScript is a language for application-scale
JavaScript development.
• TypeScript is a typed superset of JavaScript
that compiles to plain JavaScript.
• Any browser. Any host. Any OS. Open Source.
13. Vad gör TypeScript?
• Accepterar all JavaScript
• Kompilerar till ren JavaScript
• Assisterar oss att skriva bättre JavaScript
14. Vad gör TypeScript INTE?
• Lägger inte till någon egen tolkning eller
annan typ av meta-data eller kod, bara ren
JavaScript.
15. Så varför använda TypeScript?
• Mindre JavaScript kod ger ingen större fördel
att använda TypeScript
• Större projekt och många kodrader med
JavaScript hjälper TypeScript att organisera
och hitta feltypningar innan runtime
• Många av oss kommer från C# och liknande
OO bakgrund och behöver nu behärska
JavaScript, TypeScript gör övergången enklare
och stabilare
16. Invändningar
• Jo, visst men vi har liknande verktyg idag:
– jsLint
– jsHint
– Google Linter (Closure Compiler)
– m.fl.
17. Stora fördelen (enligt mig)
• Hålla ordning på alla JavaScript-ramverk är klurigt
• TypeScript ger mig Intellisense i VS2012 och även
andra IDE (TS LanguageService)
– Sublime Text 2
– WebStorm
– PHPStorm
– Emacs
– VIM
– WebMatrix
– m.fl.
• Modulhantering och dependency
18. Hur?
• Kommer du ihåg den gamla TLB filerna?
• Type Definitions (*.d.ts)
– Jmf. header files i C/C++
• jQuery och Node.js
• Importera övrigt du behöver via:
– NuGet
– https://github.com/borisyankov/DefinitelyTyped
19. Installera TypeScript
• Ladda ner: http://www.microsoft.com/en-
us/download/details.aspx?id=34790
• VS2012 PlugIn
• NPM, Node Package Manager
• Övriga IDE stöd
20. TypeScript features
• Optional Type System (Type Inference)
• Modules
• Interfaces
• Classes
• Inheritance
• Lambda (Arrow Syntax)
• Static Checking
• Code Re-factoring
21. Type Inference
• Kompilatorn använder type inference för att
automatiskt hitta rätt datatyp att använda, om
det inte lyckas används JavaScript any som
default.
22. Kompilatorn
• Genererar en helt vanlig *.js fil
• Option: generera type def file *.d.ts
• Default EC5
• Option EC3
OBS: TypeScript använder sig av några EC6
(ECMAScript) “features proposed” som ännu inte är
godkända.
23. Kodexempel:
• Variabler och deklarationer
• Intellisense och Type Inference
• Frameworks
• Lambda
• Klasser, arv och konstruktor
• Funktioner
• Interface
• Moduler (externa och interna)
36. Dependencies
(AMD, CommonJS, RequireJS)
• Moduler kan extendas, delas mellan filer och
refereras
/// <reference path=“xxx.ts” />
• Följer AMD conventions
• Använd Require för att implementera AMD
• Använd CommonJS för att exportera hela
moduler till en annan modul
• Skapa Dependency Chains
37. Sammanfattning
• TypeScript är JavaScript för C# utvecklare!
• JavaScript är överallt och oerhört kraftfullt
• C# strukturerat tänkande ger resultat i TS
• En underbar värld av fria paket och
ramverk, skapade av utvecklare som irriterat
sig på väldigt specifika problem en längre tid
• Dive in, enjoy!
38. Kom igång
Installera via Node NPM
• $ sudo npm install -g typescript
Ladda ner TypeScript för VS2012
• http://www.microsoft.com/en-
us/download/details.aspx?id=34790
39. Rekommenderade länkar
TypeScript offical home page, including specification, samples and play area
• http://www.typescriptlang.org/
TypeScript in four parts by John Papa and Dan Wahlin
• http://www.johnpapa.net/typescriptpost1/
• http://www.johnpapa.net/typescriptpost2/
• http://www.johnpapa.net/typescriptpost3/
• http://www.johnpapa.net/typescriptpost4/
AngularJS and TypeScript by David Iffland
• http://notebookheavy.com/2013/05/22/angularjs-and-typescript/
Knockout.js and TypeScript
• http://notebookheavy.com/2012/10/03/typescript-and-knockout-computed/
Knockout.js Channel 9 by Steve Sanderson
• http://channel9.msdn.com/Events/MIX/MIX11/FRM08
Intro to Node.js by Ryan Dahl
• http://www.youtube.com/watch?v=jo_B4LTHi3I
Interesting point of view from Nicholas Zakas
• http://www.nczonline.net/blog/2012/10/04/thoughts-on-typescript/
TypeScript definition files
• https://github.com/borisyankov/DefinitelyTyped