News

New Developer Features in EdgeHTML 13

Paul Ballard

17 Nov , 2015  

Microsoft’s big November Windows 10 update carried with it some significant improvements not only in the OS but also in the Edge browser and the components it exposes to developers.  EdgeHTML, the core rendering engine got updates including better HTML5 Support while Chakra, the Javascript execution engine got improved ES7/ES2016 support including async functions.

EdgeHTML has added support for more CSS and HTML5 elements boosting it’s HTML5Test score from 402 to 458, a vast improvement that puts it on par with FireFox’s 467 but still falling far behind Chrome’s 521.  This table from the Microsoft Edge Dev Blog shows the major features added in EdgeHTML 13.

CSS

File APIs

User Input

Graphics

Communication

Tools

  • Restored support for docking the F12 Developer Tools

Web Components

While EdgeHTML 13 may be playing catch up with other browsers, the Chakra JavaScript execution engine is leaving them in it’s virtual dust.  … Read more

, , ,

Video

5 Questions with Todd Anglin

Paul Ballard

29 Jan , 2015   Video

Todd Anglin, VP of Product Strategy for Telerik, talks about the overrun of web frameworks, how to choose the right strategy for building mobile apps, and the impact of Visual Studio support for Cordova.

As the EVP of Cross-Platform Tools & Services at Telerik, Todd Anglin is responsible for Telerik’s growing line of tools for web and mobile apps development, including Kendo UI and Icenium. He leads a global team of engineers, evangelists, and business analysts and oversees the design, creation, sales, and support of Telerik’s industry-leading HTML/JavaScript tools.… Read more

, , , ,

Wintellect Blogs

Convert a Windows Store App to the Web in Under 10 Minutes

Jeremy Likness

31 May , 2014  

Microsoft held an event called re//build in Atlanta and I had the opportunity to speak about what’s new with WinJS. The event used a lightning talk format so with only 30 minutes to present, I decided to make the presentation itself the demo. I wrote the re//build WinJS Windows Store app by starting with the JavaScript Grid template and customizing it to generate slides. I also included the open source animate.css library to show transitions. I purposefully went overboard on animations to show how rich the app experience can be despite using HTML.

If you run the app (don’t worry, I’ll give you a link in a minute if you don’t want to build and run it on Windows 8) you’ll see some of the more interesting announcements included future convergence of libraries (right now there are separate libraries for the phone and PC platform) and fresh support for the Xbox. Although those are both cool, what intrigued me the most was the fact that they made the WinJS library open source. What does that mean really? I originally viewed WinJS as a shim between HTML5 and the Windows Runtime, so I couldn’t imagine a scenario where it made sense on the web.… Read more

, , , ,

Wintellect Blogs

Silverlight: Where Do We Go From Here?

Jeremy Likness

24 Apr , 2014  

Silverlight made its debut in 2006 with the confusing acronym WPF/E (that’s Windows Presentation Foundation, Everywhere). Indeed the original dream was that a slimmed down version of the .NET Framework could run as a plugin in any browser (including smart phones) and enable developers to wield their weapons of XAML, data-binding, and C# to write line of business apps that would run everywhere. Although it took a few versions to mature, in May of 2011 version 5.0 was released with the features most requested by enterprise users. That was also the year I wrapped up my book about building business applications with Silverlight, titled Designing Silverlight Business Applications (Addison-Wesley, 2012).

In the forward of that book I discussed how the refusal of certain vendors to include the plugin on their smartphones didn’t necessarily mean the demise of Silverlight, but would relegate it to the domain of rich enterprise business applications. HTML5 was still f

ragmented and JavaScript was a very difficult language to scale across large teams and maintain on enterprise projects. Later that year when Microsoft announced their plans for the upcoming Windows 8 operating system, developers around the world took notice of two things: the heavy emphasis on apps written with HTML5 and JavaScript, and the lack of any mention of Silverlight.… Read more

, , , , ,

Wintellect Blogs

Angular: The Modern HTML5 Answer to Silverlight’s MVVM

Jeremy Likness

30 Mar , 2014  

First, let me say that I realize Silverlight in no way “owns” the Model-View-View Model pattern. I’ve written on this extensively in my article “MVVM Explained.” However, I believe it gained the most public exposure through various implementations on that platform and this is what led to its adoption on the web. In fact, you might think its strange to think that Microsoft could have possibly influenced the sacred land of open source JavaScript, but if you trace the history of view models you’ll find not only did they segue from WinForms to XAML technologies, but they initially made their way to the web via early data-binding implementations like KnockoutJS.

I have to admit I was extremely skeptical when I first saw the concept of creating a view model in a browser. As much as I loved XAML’s data-binding it felt like a square peg and a round hole. What really concerned me the most was the extra work involved to take an ordinary JavaScript object (JSON) and turn it into a view model using things like ko.observable. This has been vastly improved and simplified, and as I began to adopt the strategy for the web I realized quickly it made sense.… Read more

, , , , , , , ,

Wintellect Blogs

Throttling Input in AngularJs Applications using UnderscoreJs Debounce

Jeremy Likness

25 Oct , 2013  

There are numerous scenarios to throttle input so that you aren’t reevaluating your filters every time they change. The more appropriate term is “debounce” because essentially you are waiting for the input to settle before you invoke a function, so you stop bouncing to the server. The canonical case would be a user entering input into a text box to filter a list. If your filter involves some overhead (for example, it is implemented using a REST resource that executes a query on a backend database) you don’t want to keep rerunning and reloading the results while the user is typing. Instead, you want to wait for them to finish typing their filter and then perform the task once.

A simple solution to this problem is here: http://jsfiddle.net/nZdgm/ 

Let’s assume you have a list ($scope.list) that you expose as a filtered list ($scope.filteredList) based on anything that contains the text typed into $scope.searchText. Your form would look something like this (ignore the throttle checkbox for now):

<div data-ng-app=’App’>
    <div data-ng-controller=”MyCtrl”>
        <form>
            <label for=”searchText”>Search Text:</label>
            <input data-ng-model=”searchText” name=”searchText” />
            <br/>
            <input type=”checkbox” data-ng-model=”throttle”>&nbsp;Throttle
            <br/>
            <label>You typed:</label> <span>{{searchText}}</span>
        </form>
        <ul><li data-ng-repeat=”item in filteredList”>{{item}}</li></ul>
    </div>
</div>

The typical scenario is to watch the search text and react instantly.… Read more

, , ,

Wintellect Blogs

MVVM on MVC: HTML is not XAML

Jeremy Likness

12 Apr , 2013  

I have to admit that I may have rolled my eyes a bit when I first learned about the KnockoutJS library. It sounded too much like forcing a square peg into a round hole. Isn’t Model-View-Controller (MVC) already it’s own pattern? Does it make sense to apply something like Model-View-ViewModel (MVVM) to HTML? I already had enough issues dealing with MVVM on the platform it was designed for, XAML and C# (WPF and Silverlight). Some people simply didn’t get the pattern, others were pushing it without really understanding its benefits, and many applications completely and unnecessarily overcomplicated their implementation of the pattern. So before we talk about whether it makes sense in HTML-based applications, we first need to agree on what the benefits of the pattern are.

I’ve heard many opinions regarding this and have not only read lists, but also published my own. You might hear things like “decoupled code” or “best practices” or “modularity.” Many of the benefits often cited are really just good coding practices that should be implemented regardless of the user interface (UI) pattern being followed. After looking at all of the different benefits, coding using different patterns, and spending several years building enterprise Line of Business (LOB) Silverlight applications it really boils down to two specific benefits:

  1. Testability – MVVM improves the testability of your application.
Read more

, ,

Wintellect Blogs

Windows Store Apps, SVG, and HTML Interoperability

Jeremy Likness

28 Feb , 2013  

There are several reasons you may wish to show HTML content in your Windows Store app. You may have information that is updated frequently and makes the most sense to consume as HTML data. Your app may aggregate feeds that contain HTML content. In some cases you may be creating a native client that accesses an existing web-based application that you need to interoperate with. Fortunately, the WinRT has a control that addresses these needs: the WebView control.

It is important to understand what the purpose of the control is and how that may impact how you architect your app. The control itself is not intended to be a complete replacement for a browser. Indeed, Microsoft has made it clear that if you try to get an app approved in the store that tries to solely interact with a web-based app or simply act as a web browser, it will be rejected [1-Ten Things You Need to Know about WebView]. There are several limitations built into the control that prevents many scenarios.

The control uses the Internet Explorer 10 engine. It does not support advanced features in HTML5 including caching, indexed databases, programmatic access to the clipboard, or geo location.… Read more

,

Wintellect Blogs

The Cascade Game: From Silverlight to HTML5 (part 2)

Sergio Loscialo

15 Sep , 2011  

Game Loops and Timer-Based Animations

Previous Entries in Series

My next short term goal was to get some of spheres to show and animate. And that was going to entail using HTML5’s new <canvas> tag. I saw two ways of going about animating the spheres. The first way would be to manually draw the spheres on a single canvas and animate them by clearing the canvas and redrawing at every game cycle. The second way would be to create a separate canvas for each sphere and use CSS3 to animate them. The latter method would allow the GPU to help accelerate the graphics processing and seems to be the best choice for animations of this type in HTML5 (see this blog entry from Jeff Prosise).

In the Silverlight version of this game, I created several classes that managed the spheres, levels, scores, and whatnot. I wanted to mimic that structure as closely as possible in Javascript to make the conversion less painful. Since Javascript doesn’t really have any type-safety without writing a lot of support code, I knew this task was going to be a bit frustrating until I became re-acclimated to Javascript again (I confess, it’s been some time).… Read more

,

Wintellect Blogs

The Cascade Game: From Silverlight to HTML5 (part 1)

Sergio Loscialo

8 Sep , 2011  

A few years ago I played a game on Facebook that had a simple premise, but became quite addictive for a while.  It consisted of progressing levels of spheres in which the player was tasked with exploding by initiating a chain-reaction.  You had one shot.  Placement, timing, and luck determined how well you scored.  At the time, I was learning Silverlight and thought it would be a good sample project to duplicate the fundamentals of this game in Silverlight, and thus Cascade was born.

Now, with the advent of Html5 and Javascript poised to reclaim the virtual landscape, I decided that it may be a beneficial learning experience to rewrite Cascade as an HTML5 application.   The next series of posts will outline my progression in converting the Silverlight version of Cascade into a workable Html5 game.

imageThe first thing I started with in the conversion was the shell for the game, a simple HTML5 page.  At this point, it’s still in the rough sketch phase (I’ll add more finalized artwork later).  Below is a picture of the game board with very little in the graphics department.   The HTML5 markup is pretty basic, but I wanted to put a gradient in the header.   With HTML5 and CSS3, gradients are very simple to implement without having to use a repeating graphic image.  So, while still possible to achieve this affect with either a large image or a small, repeated one, the new gradient effects in HTML5 /CSS3 are better for two reasons: they look good at all resolutions and are smaller in download size.… Read more

,