Get In Touch With Silk

Recently I have begun investigation of the silk framework from Microsoft to build exciting HTML5 based websites. Silk comes from the Microsoft patterns and practices group and provides an interesting reference implementation to follow to build a modern web application.
Silk’s main selling points are the following:

Creating modern web applications.
A modern web application must be:

  • Immersive
  • Responsive
  • Contains a feature set
  • Desktop client-like

However the web poses many challenges. Consistently developers must rethink the way they approach these ever growing challenges.

Specifically, developers must understand these challenges:

  • Page Layout and Navigation Style
  • Support of Browser Standards (mobile or desktop web)
  • Progress Enhancement vs. Graceful Degradation
  • Client vs Server Organization (work load more on server or more on client)
  • Designer Developer Workflow
  • Testing & Debugging

Silk is a reference implementation that shows how handle this with the Mileage Stats web app that is used to track mileage, fuel consumption and service reminders.
It utilizes a single-page UI approach and implements RESTful data services that are built using the Entity Framework Code First approach.

The downsides to Silk is it is not a complete app. This set aside it should help a development team design and architect a real world web solution.

To get more in touch with Silk, please check it out on Codeplex at silk.codeplex.com

From Qt to Web

I have had the opportunity to work with the Qt framework this past year at a client.
I have learned a lot and found it to be one of the best C++/UI frameworks to do cross-platform development with. 
I want to spread the news about Qt and have started a Qt developer group here in Chicago. Our goal will be to expand our knowledge in the Qt, QML and Qt Quick frameworks.  Going forward I will be investing my time into HTML5 and Qt Webkit. This is the future for Qt and HTML5 will be bringing us the next generation of UI.

I hope Qt will remain strong, but the web has really taken a hit on desktop UI development. More and more forms based applications are being moved to the web (easier to maintain, more platforms) and more startups are using web technologies over traditional thick desktop clients. And the break from Silverlight to HTML5 is ever so apparent…we must embrace JavaScript and HTML5

As technology and client demands changes, I will be taking a lessor role in Qt and focusing my career transition to web dev. I have started out with ASP.net Web Forms and MVC 4 JSON and jQuery for starters. There is a lot to learn and this is a huge change in direction for my career, but is needed given the change in dynamics for consulting. In the end the web is the most interesting and hottest areas of technology to be working in. I hope my expertise in all will be a tremendous benefit to the clients I work with in the future.

HAML

I just had an opportunity tonight to attend a presentation on web development about using HAML to write better HTML.
I was quite impressed and in the future plan to write a post about what I learned.

Chicago Hackathon

I will be competing this Sat and Sun at the thatConference Chicago Hackathon conference being held in downtown Chicago at TechNexus 200 S Wacker Drive.

The Centare Chicago team will have at it in creating an app for a mobile target on this upcoming weekend. The Centare team is hard at work ready to compete. Let the hacking planning and app creation begin …

Chicago Code Camp

Chicago Code Camp had a great turn out this past Saturday and I had an opportunity share Qt and Qyoto with the fellow developers who had attended my presentation on Building Cross-Platform Apps with Qt and Qyoto.

As promised I have attached the slide from the presentation.

Getting Qyoto set up on your Linux Box

Getting setup on Linux: (Ubuntu)

Step 1: Ensure g++  compiler is installed on your computer.
If not sure, open a terminal and try g++. If command isn’t found, you need to get it.
simply sudo apt-get install  g++

Next get cmake: (Used version 2.8)
sudo apt-get install cmake

Step 3: Get Mono and MonoDevelop installed

sudo apt-get install monocomplete

sudo apt-get install monodevelop

Step 4: Download and install the QScintella library for Linux.
You will need to untar this and follow the install structures. I had to compile the source code to be able to create the libs. Instructions for compiling and installing are included in the download. http://www.riverbankcomputing.co.uk/static/Docs/QScintilla2/index.html

Step 5: Pick up the phonon libraries.

sudo apt-get install phonon

Ref: http://phonon.kde.org/
Step 6: Install Qt if not already installed This can be downloaded directly from Qt Website.

Step 7: Install the qtsmoke-dev lib

sudo apt-get install qtsmoke-dev

Step 8: Install qyoto

git qyoto
cmake CMakeLists
make
sudo make install
ldconfig

Step 9

Open up MonoDevelop and reference the qyoto libs in your C# project.

Step 10: Hack: J

Reference Link:  http://zetcode.com/tutorials/qyotosharptutorial/introduction/

My Introduction to Qyoto

In a recent project I have been working on, I have been exploring the cross platform framework using Qt and C++. Qt is a really interested framework for doing cross platform development in C++ on Windows, Mac and Linux.

Specifically I am a C# programmer at heart and wanted to find a project that supported doing both Qt and C#. To my surprise I found a project on Github that provided a C# language binding to the Qt framework.

Qt is really great for developing apps for cross platform and has recently had a port to Android. I also had found a plethora of web resources to help the C# developer get started with Qt.

In my future blog posts, I will talk more about this.