Thursday, December 4, 2014

.NET Framework is becoming open source

As it was announced November 12, .NET Core will be open-source now

http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx

.NET Core is a foundation for future .NET platforms and it is used for by ASP.NET 5 and .NET Native. Microsoft is going to have cross-platform .NET and some community around it.

You probably know about Mono project with its separate code base, now it will be a part of this community:

http://www.mono-project.com/news/

But what is available on GitHub now?

https://github.com/dotnet/corefx

Only small subset of libraries: Immutable Collections, SIMD, Assembly Metadata Reader, XDocument, XmlDocument and that's all. Everything else should be included there until Build 2015. Will be waiting for that!


Monday, December 1, 2014

Installing Qt 5.4 on Mac OS Yosemite

When we are building Qt from sources on Mac OS, we are following this instruction:

http://qt-project.org/doc/qt-4.8/install-mac.html

It worked fine on previous versions of Mac but on Yosemite there is a change related to environment variables. It is not related to Qt actually, just these variables are not visible to GUI applications in Yosemite. See the links below, for example:

http://apple.stackexchange.com/questions/152294/shell-environment-variables-not-available-in-gui-apps-even-if-app-launched-via-c

https://discussions.apple.com/thread/6682752

This is why Qt Creator doesn't have access to PATH variable. We need to add Qt version in it manually, make sure you will use Command-Shift-G in Finder while selecting path to qmake, for example, our path to qmake is

/usr/local/Qt-5.4.0/bin/qmake

and Finder doesn't see it by default.


Saturday, November 29, 2014

Digia announced Qt 5.4 Release Candidate

Digia announced that Qt 5.4 Release Candidate is already available for downloading:

https://blog.qt.digia.com/blog/2014/11/27/qt-5-4-release-candidate-available/

According to the information from their team meetings this release candidate should be very close to release version which is expected later in December.

This version contains large number of bug fixes, also versions of MinGW and Mac OS used were updated. Now Yosemite is used for packaging.

List of new features in version 5.4 can be found here:

http://qt-project.org/wiki/New-Features-in-Qt-5.4

The most interesting thing, to my opinion, is that in this version they consider Qt WebKit module done. Though it will be supported in future, later they will be developing Qt WebEngine. It is a new module appeared just now and based on Chromium.

They are not going to support Qt WebEngine on all platforms, only some of them. You can read about that here:

http://qt-project.org/wiki/QtWebEngine#5405d8a903c83e89cb649f1b518ef1be

Many new features for WinRT and Windows Phone platforms were added in version 5.4.

Monday, November 17, 2014

Creating Web Application in Visual Studio 2013 Update 4

Templates used in Visual Studio for web applications were updated a lot recently.

Imagine we need to create ASP.NET Web Application using .NET Framework 4.5, Visual Studio 2013 with the latest Update 4 (available since November 12, 2014 http://www.visualstudio.com/news/vs2013-update4-rtm-vs#CodeLens).


Here we can add Application Insights feature to your project which should help us to understand what users are doing with our application, how often they launch it, in what environments, etc. For our test application we don't need it by now.

Next, we need to select template – basically it is – Empty, MVC or Web Forms:



We will select Web Forms now (we will select MVC template next time for our investigation). We don't need unit tests and hosting in the cloud for this project. In Change Authentication window we can change authentication from Individual User Accounts (default) to No Authentication, Organizational Accounts (i.e. Active Directory) or Windows Authentication (Intranet application).

So pressing OK and our template is being generated, actually got a lot of files!

Let's launch our solution and browse through pages.



We have Home, About, Contact, Register, Log in pages though we haven't written a single line of code yet. But what is more important we notice we have clean URLs without .aspx – like in MVC. This is achieved with the help of Microsoft.AspNet.FriendlyUrls library which was described by Scott Hanselman https://aspnetfriendlyurls.codeplex.com/ . Together with this library we have ViewSwitcher control allowing to switch between desktop and mobile views of the page.


Another techniques we should pay attention to are bundling and minification. Rick Anderson described them for Web Forms here:


Main target of using these techniques is to improve request load time. Code for creating bundles in in Global.asax.cs file. Look at Bundle.config file, there you can add your own files as well.

ASP.NET identity (logging in / registration of user) uses Microsoft OWIN Authentication middleware for forms authentication. OWIN (Open Web Interface for .NET) is an open source project which defines interactions between web servers and application components (owin.org). In References of our solution there are several assemblies related to OWIN, for example:

  • Microsoft.Owin.Host.System.Web - contains an OWIN server that enables OWIN-based applications to run on IIS using the ASP.NET request pipeline
  • Microsoft.AspNet.Identity.Owin - contains a set of OWIN extension classes to manage and configure OWIN authentication middleware


Thursday, November 13, 2014

Microsoft releases Visual Studio Community Edition

Microsoft released Visual Studio 2013 Community Edition Update 4 (November 12, 2014):

http://www.visualstudio.com/news/vs2013-community-vs

This edition is free for individual developers even for building commercial applications. It is also free for everybody participating in open source projects.

Here is the nice short video introducing Community Edition:

http://channel9.msdn.com/Events/Visual-Studio/Connect-event-2014/040

I've already installed Community Edition for test. Main C++ and C# projects are in place and I am also able to compile and launch my old projects. .NET Frameworks are available from 2.0 to 4.5.1 with possibility to download later frameworks from web.



Visual Studio also suggests to install Python Tools and Tools for Apache Cordova (JavaScript).

At the whole, Community Edition seems to be great free replacement to Professional Edition.

Wednesday, July 2, 2014

Packt Publishing celebrates 10 years with a special $10 offer


This month marks 10 years since Packt Publishing delivers effective services to IT professionals. 

To celebrate this huge milestone Packt is offering all of its eBooks and Videos at just $10 each for 10 days until July 5th. This promotion covers all titles. 

More information is available here.

Wednesday, May 7, 2014

Packt: Day against DRM

Don't miss  Day Against DRM at Packt!

To show their continuing support for DayAgainst DRM, Packt Publishing is offering all its DRM-free content at $10 for 24 hours only right now – that’s all 2000+ eBooks and Videos at www.packtpub.com.

Qt 5.3 Release

Today, May 7 2014,  was planned as release date of Qt 5.3. But release plan was updated and tomorrow, May 8 is announced as the date for release candidate and final release should be ready as soon as May 20.

Full release plan for Qt 5.3 is available here:

http://qt-project.org/wiki/Qt-5.3-release

There will be a lot of new features and bug fixes available in this version of Qt. Major enhancements in Qt print support and WebKit modules should be done. Qt supports new platforms also now: Windows RT, Windows Phone 8.