Timo Korinth

2 Meter, 2 Mark

12.05.2015
by Timo Korinth
0 comments

Highlights von der Build 2015

Build2015Title

Visual Studio Code

Auf der Build 2015 hat Microsoft einen neuen Code Editor vorgestellt und reiht sich damit in eine immer größer werdende Liste von freien Editoren wie SublimeText, Brackets, Atom etc… ein. Tatsächlich ist Visual Studio Code keine komplette Neuentwicklung, sondern basiert auf dem von GitHub entwickelten Framework “Electron”, dass auch für den eigenen Atom Editor verwendet wurde. Das Ziel von Visual Studio Code ist dabei einen leichtgewichtigen, Cross-Plattform Editor darzustellen, der hauptsächlich für Web-Entwicklung gedacht ist. Dabei sind die Features tatsächlich sehr vielversprechend:

  • Sehr Leichtgewichtig / Schnell
  • Intellisense Unterstützung für viele Sprachen
  • Git Unterstützung
  • Tastenkürzel für schnelle Navigation
  • Debugging Möglichkeiten
  • Taskrunner Unterstützung (wie Grunt oder Gulp)
  • Code Peak
  • .. (und viele andere Features)

Eine Preview des Editors ist bereits jetzt kostenlos verfügbar und kann getestet werden:

https://code.visualstudio.com/

Visual Studio 2015

In der neusten Version von Visual Studio 2015 sind nun endlich neue UI Debugging Tools für WPF Applikationen integriert. Vor allem die Möglichkeit zur Laufzeit Elemente in einer Anwendung zu markieren, den Visual Tree darzustellen und Eigenschaften on-the-fly zu verändern wird Tools wie den geliebten “WPF-Inspector” oder “Snoop” überflüssig machen :-)

Quelle: Microsoft

 

https://www.visualstudio.com/en-us/news/vs2015-vs.aspx

Zukunft von WPF

Jay Schmelzer (Director of Program Management) zu der Zukunft von WPF in seiner Session auf der build 2015: “WPF is the platform of choice for desktop application development”

http://channel9.msdn.com/Events/Build/2015/2-614

Das Windows 10 Continuum

Auf der Build 2015 wurde Continuum für Windows 10 vorgestellt. Dabei soll das Windows 10 Phone zu einem PC werden, wenn man Tastatur / Maus und Monitor anschließt. Das erklärte Ziel ist es, jeden Screen zu einem PC werden zu lassen. Die Apps müssen dann natürlich darauf ausgelegt sein, auf verschiedenen Geräten und Auflösungen zu laufen. Die Schlagwörter dabei sind Fluid UI, Adaptive UI, Responsive UI und Tailored UI. Bei all diesen Möglichkeiten ist es um so wichtiger das jeweilige Szenario und den jeweiligen Benutzungskontext zu berücksichtigen, um dem Benutzer der App ein optimales Erlebnis zu liefern.

http://channel9.msdn.com/Events/Build/2015/2-703

IoT: Internet der Dinge

IoT ist bislang im Wesentlichen als heftiges Buzzword in den Medien zu vernehmen. Microsoft macht jetzt aber ernst und stellt das “Windows 10 IoT Core Insider Preview” bereit. Dabei handelt es sich um eineArt neues Embedded System, die jedes denkbare Endgerät, z.B. Rasperry Pie, von Windows aus steuern lässt.

13.04.2015
by Timo Korinth
0 comments

CSS 3D Sphere

Playing around with some CSS 3D transitions and animations to create an animated 3D sphere with nothing more than plain CSS (no JavaScript):

See the Pen 3D CSS Sphere by Timo Korinth (@TimoKorinth) on CodePen.14074

The “magic” is to use some flat div’s with border-radius: 50%; to create circles and rotate them to form up a sphere. After this I just needed to start an infinite CSS animation which changes the rotation for all axis.

25.02.2015
by Timo Korinth
0 comments

Don’t Be Afraid of the Dark (AngularJS)

BASTA_SE_15_Speakerbutton

If you talk to other (.NET) developers and confess that you are doing HTML5, JavaScript and AngularJS development more than .NET and WPF by now, you’ll earn laughter and compassion. But why is that and what can we do about this? In my Session on the BASTA! Spring (26.02. @17:30h) I’ll try to answer these questions from my own experience as a former .NET developer. The one thing I can say is: Don’t be afraid of HTML5, JavaScript and Co.
I’m looking forward to see you there.
UPDATE:
Download my Flexbox demo project here: AngularJS Flexbox Demo

06.12.2014
by Timo Korinth
0 comments

UI-Framework in AngularJS

GUIDesignLogo

Next week (09. – 10. Dec) I will talk about my thoughts on an UI-Framework written for AngularJS on the GUI & Design Conference in Berlin. Based on my recent work in some huge AngularJS projects I created a structure for controls and containers which can be used to implement a custom UI-Framework based on directives and styles. What a UI-Framework is an how it can help you develop and maintain huge software products is the main goal of my session. Hope to see you there.

UPDATE:

Take a look at my slides: UI Framework AngularJS (in german)

22.09.2014
by Timo Korinth
0 comments

See you on BASTA! 2014

Today the BASTA! 2014 starts and we from MAXIMAGO will be there the whole week. If you would like to try the new Oculus DK2 or talk about UX, WPF, HTML5, JavaScript development, meet us at the MAXIMAGO stand.

Beside this, on Wednesday and Thursday I’ll talk about Cross-platform development and Control development in WPF and HTML5 (AngularJS):

I’m looking forward to meet you there ;-)
BASTA! Herbst 2014 Speakerbutton 1

15.04.2014
by Timo Korinth
0 comments

Understanding routing in Ember.js

One of the first things you will come across in Ember development is the routing mechanism. If’ve had a hard time figuring out the concept and differences to other routing approaches until I really understand the benefits of the Ember routing provider. To help you getting started with Ember development, I got some key insights to share with you:

  1. The overall concept is Convention over Configuration
    • That also means that Ember will generate classes (e.g. Controller, Routes etc…) for you, if you do not explicitly define them. That is especially true if you define routes: If you just specify the route name, Ember will automatically create an appropriate route, controller and (empty) template for you. To override the default behavior, you can create one of these objects (creating subclasses) and hook up your own code.
  2. Think of routes as application states
    • It is important that you fully understand the whole concept of ember routing. The main goal (in contrast to many other routing frameworks) is to define application states and make them additionally available through a URL.
    • Route = State + URL
  3. Use of nested routes
    • You can’t nest routes but resources. The important thing: A route nested under a resource will get (by convention) the name of its parent resource + its own name. BUT a resource nested under a resource will just get its own name.

To clarify the last point, here’s an example. Take this route / resource structure:

this.resource('IdentityManagement', function () {
    this.resource('Identities', function () {

        this.resource('Identity', { path: '/:id' }, function () {
            this.route("Edit");
        });
        this.route("New");

        this.resource('Visitors', function () {
            this.resource('Identity', { path: '/:id' }, function () {
                this.route("Edit");
            });
            this.route("New");
        });

        this.resource('Void', function () {
            this.resource('Identity', { path: '/:id' }, function () {
                this.route("Edit");
            });
            this.route("New");
        });

        this.resource('SalesTeam', function () {
            this.resource('Identity', { path: '/:id' }, function () {
                this.route("Edit");
            });
            this.route("New");
        });
    });
});

This structure will lead to the following routes (a subset of all routes that will be implicitly be created by Ember):

App.IdentityManagementRoute = Ember.Route.extend({
    model: function (param) {
        return App.Contact.find();
    }
});

App.IdentitiesRoute = Ember.Route.extend({
    model: function (param) {
        return App.Contact.find();
    }
});

App.VoidRoute = Ember.Route.extend({
    model: function (param) {
        return App.Contact.find();
    }
});

App.IdentityEditRoute = Ember.Route.extend({
    model: function (param) {
        return App.Contact.find();
    }
});