by Stephen Forte
(This article is a re-post from the Stephen Forte's Blog)
A few weeks ago I was in the Telerik
cafeteria at our world headquarters in Sofia, Bulgaria, and a colleague
walked up to me and asked: "Is Silverlight dead?" I replied: "No, but
it has seen better days."
Since Silverlight's absence from last
year's Professional Developers Conference (PDC) in Redmond, WA, the
infamous "our strategy has shifted" comment made by Microsoft Server and Tools Division President Bob Muglia,
Scott Guthrie's move out of DevDiv, and the recent reorg of the XAML
team, the community has been in an uproar assuming that Silverlight is
dead. So the community has voted, Silverlight is dead and
HTML5+JavaScript is the future.
First a few words on HTML5 + JavaScript
Many
people in the IT industry assume that HTML5+JS is the future of
software development. While it would be easy to say HTML5+JS is the
absolute future of software development, HTML5+JS still has its limits
coming from its roots as a rendering platform with some scripting,
communication attached. While I feel HTML5/JS will be huge and have a
place in every developer’s toolkit (just as HTML4+JS (AJAX) does), to
build true LOB applications, you will need more power, just as you do
today.
HTML5+JS is finding its sweet spot with media,
interactive content apps on the web (think Google Maps) and cross
platform apps for mobile devices. While Microsoft is fully embracing
HTML5+JS, I can never see them making it their main development
strategy; Microsoft would never cede its development strategy to a
standards body or a 3rd party. Realizing this, Microsoft is
going to have a development platform that embraces and extends HTML5+JS,
just like .NET/ASP embraced and extended HTML5+AJAX.
I think
that all of the recent focus on HTML5+JS by Microsoft is to hook the
non-Microsoft developers who know nothing about Silverlight or .NET on
the Windows 8 Tablet and get them building apps to compete against
Android and iOS. I believe that what will evolve
is that for the developer ecosystem is that HTML5+JS will primarily be
used for building "apps" on the Tablet, but not for "real" line of
business applications on the Web, “native” Windows, and XBox.
Is Silverlight Dead?
I will admit, when Steven Sinofsky and Co were showing off the new Windows 8
operating system and all of the HTML5+JavaScript developer hooks, I was
tempted to join in the "Silverlight is dead" chorus. After some deep
thought, I realized that rather than killing off Silverlight, Microsoft
may have something else in store for us. If you read in-between the
lines and take with a grain of salt what the blogs say, it is possible
to draw some conclusions about the future of XAML and Silverlight.
One popular blog
talks about a new native user interface library, DirectUI, that builds
on top of the native Direct2D and DirectWrite APIs that were introduced
with Windows 7. According to the blog, a new platform code named
"Jupiter" is part of Windows 8 and is a "Native XAML" runtime that runs
on top of DirectUI.
If the blog about the Native XAML and DirectUI/Jupiter project is true, then re-org of the XAML team
makes complete sense. In case you missed the leaked news, the XAML
runtime team at Microsoft is moving to join the Windows team, the XAML
runtime team for Windows Phone 7, Xbox, and browser plug-ins is moving
to the Windows Phone 7 team, and the XAML tools team will remain in the
Microsoft developer tools division.
To me, this looks like
Microsoft doubling down on its XAML strategy, not abandoning it. By
putting the XAML runtime team under Windows, Microsoft is making XAML
part of the core operating system. This is huge. Anything included as
part of the Core OS is treated as royalty inside of Microsoft. It also
means that any XAML based application (either in WPF or Silverlight)
will run natively as part of Windows, opening up the door to even faster
performance. (History buffs may recall that this was the original
vision of XAML, aka Project Avalon, that was presented at PDC 2003.
Better late than never? ;))
The Future: Native XAML
I see XAML as a native part of Windows 8, Internet Explorer 10, Windows Phone 7, and Xbox - the
common thread that unifies development for the Microsoft stack, even
more so than .NET (which does not fully run on all of these platforms)
If HTML5 gets fragmented, as it surely will, I can one day even see a
native, hardware accelerated runtime of XAML being released for the Mac
(there already sort of is one), Android, iOS, and maybe even Linux
sometime in the future.
Notice that I have not been saying
"Silverlight" or "WPF,” but instead “XAML.” It is more than possible
that WPF and Silverlight will merge into "Silverlight+" or something
like that, but XAML is the star. Since the XAML runtime has moved to
Windows core and is no longer part of .NET, a "Silverlight" app that is
deployed on the web, can run natively on Windows and take advantage of
the local system and hardware, blurring the difference between WPF and
Silverlight. It’s a natural evolution since the WPF and Silverlight
teams at Microsoft were really one big team at this point.
Since
the Silverlight brand is popular and has a cool name (something
Microsoft never seems to do), I have a feeling that Microsoft will
leverage the Silverlight brand when releasing "Jupiter". I expect to see
one native XAML runtime and development environment ship as part of
Windows 8, effectively merging WPF and Silverlight.
I don't see Silverlight as being dead, but rather reborn bigger and better. Instead of being its funeral, the Build Conference will be Silverlight and XAML's graduation party.
At
Telerik, we are also going to double down on our XAML strategy. Since
the beginning, we have always had only one XAML team with one XAML code
base, so our WPF and Silverlight share the exact same codebase and our
Windows Phone 7 tools are a subset of that codebase. We see Native XAML
as a massive opportunity and will continue to support our XAML tools now
and in the future. We’ve recently released a beta of our XAML controls that features a Persistence Framework and DataServiceDataSource as well as some spectacular Data Visualization controls.
Our XAML tools, including Windows Phone 7, will ship the Q2 release
later this month. We have our Q3 release scheduled later this year which
should include some great new charting capabilities, new DataSource
controls, and a ZIP compression library.
We will continue to make improvements to our XAML tools, including our Windows Phone 7 controls and our Facebook application, telerik fdeck, built on top of WPF and look forward to Native XAML's long future.