So I got this idea for an app that can play youtube videos. It can’t be hard, right? I just need a webbrowser embedded in the app that will load a HTML page with an embedded youtube video in it, and I’ll just use my app to update the embedded video code in the HTML.

Sounds easy enough, I worked on a similar app in Delphi 7 before. It had an embedded webbrowser and displayed some google maps content. But I have a big problem: I like my apps to work cross-platform, and Delphi is a windows only framework.

So I started researching the tools I can use to make a cross-platform webbrowser app. I started with Java and it’s toolkit SWT. It had a webbrowser control, but the problem was SWT has a different library on each platform, so the app had to be slightly modified on each platform. Plus the windows version didn’t work so well. Then I tried  Python with GTK+ using a Webkit library. Again problems in windows, I couldn’t find a way to compile the webkit library to work on windows. Also Mono with IronPython and GTK# has a webkit library, but it din’t work as expected.

So, after all those failures I found the best tool for the job: Qt framework. It has a very nice webkit widget that works really well cross platform without needing any special tweaks. Qt is an open-source cross-platform framework for C++. It’s used by Nokia for its mobile operating systems Symbian and MeeGo, and also by the popular Linux desktop environment KDE.
Being a Python fan I chose to work with python and PySide (Qt bindings for python).

Next part of the tutorial: Getting Started

This entry was posted in PySide, Python, TubePlayer and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s