{"id":89,"date":"2012-03-05T21:08:43","date_gmt":"2012-03-05T15:38:43","guid":{"rendered":"http:\/\/sandeepmathew.wordpress.com\/?p=89"},"modified":"2012-03-05T21:08:43","modified_gmt":"2012-03-05T15:38:43","slug":"gui-toolkits-compared","status":"publish","type":"post","link":"https:\/\/sandeepmathew.com\/index.php\/2012\/03\/05\/gui-toolkits-compared\/","title":{"rendered":"GUI toolkits compared"},"content":{"rendered":"<div><strong>GUI Toolkits Compared<\/strong><\/div>\n<p>I have worked with few UI libraries during my college days (late night hackwork !). Although It has months since i really coded something in C\/C++ . Here is my opinion on most of the UI frameworks ( choices available\u00a0 <img src=\"http:\/\/www.thehackerslibrary.com\/wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":)\" \/> \u00a0 ) .<\/p>\n<p><span style=\"text-decoration:underline;\"><strong>(a) Win32 API , GDI (user32.dll)<\/strong><\/span><br \/>\nThis was the most difficult to work with initially . I initially found it more difficult to work with than X , with strange typedef\u2019s and cumbersome hungarian Notation etc . But once you get the hang of it , its quite easy . But getting the hang of it may take some time . You may look at Charles Petzold programming Windows for more information.(Works only on Windows AFAIK , or may be Wine and ReactOS )<\/p>\n<p><span style=\"text-decoration:underline;\"><strong>(b) MFC<\/strong><\/span><br \/>\nMFC is quite friendly . You can make ui\u2019s pretty quickly and easily . But if you follow one of those \u201d<br \/>\nteach yourself MFC in xx days \u201d , you might get stuck at some point of time . You should start from the ground up without using the wizards provided and then later switch to wizards after you get more advanced . It also provides many features (Document View Architecture , to name a few ) and most developers usually do not properly utilize them <img src=\"http:\/\/www.thehackerslibrary.com\/wp-includes\/images\/smilies\/icon_sad.gif\" alt=\":(\" \/> \u00a0. Works only on Windows AKIK , or may be Wine and ReactOS )<\/p>\n<p><span style=\"text-decoration:underline;\"><strong>(c)GTK<\/strong><\/span><br \/>\nThe Gimp\u201ds toolkit . It was initially made for the development of the GNU Image manipulation program or the GIMP . Its very easy to write ui\u2019s in GIMP and now you have glade available . The gimp website provides sufficent documentation and its pretty cool ! . The downside of gtk is that , its strong only in *nix platforms . The ui elements may look a touch different depending upon the platform .<\/p>\n<p><span style=\"text-decoration:underline;\"><strong>(d)FOX<\/strong><\/span><br \/>\nIts yet another cool framework which i have worked with. Its pretty impressive , ui elements look the same in all platforms . But the downside of fox is that it has a slightly steeper learning curve compared to Gtk , and it somewhat mimics MFC in its API .<\/p>\n<p><span style=\"text-decoration:underline;\"><strong>(e)QT<\/strong><\/span><br \/>\nQT is the best i guess in terms of quality and portability , but qt has a confusing license . Other than that its awesome .It competes with MFC in ease of use and beats it completely in portability\u00a0\u00a0\u00a0. It boasts of a signal \u2014 connect sort of thing , but there is nothing novel in it .<\/p>\n<p><span style=\"text-decoration:underline;\"><strong>(f)svgalib<\/strong><\/span><br \/>\nits pretty good as well . its easy to use , but need root privilleges ,its quite buggy as well<\/p>\n<p><span style=\"text-decoration:underline;\"><strong>(g)Allegro<\/strong><\/span><br \/>\nEasy to use multiplatform gaming framework<\/p>\n<p><span style=\"text-decoration:underline;\"><strong>(h)SDL- Simple DirectMedia Layer<\/strong> <\/span><br \/>\nSame as Allegro<\/p>\n<p><strong><span style=\"text-decoration:underline;\">(i)Xlib<\/span> <\/strong><br \/>\nHonestly its initially easier to learn Xlib , than Win32 API . But it only provides barebones functionality . There is an autoritative X book by main authours themselfves. I havent coded in Xlib for the past 3 years , so forgot most of it . Also if you have experience programming Windows , programming X should not be too difficult .<\/p>\n<p>There are others as well , but I will stop for the time being \u2026\u2026.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GUI Toolkits Compared I have worked with few UI libraries during my college days (late night hackwork !). Although It has months since i really coded something in C\/C++ . Here is my opinion on most of the UI frameworks ( choices available\u00a0 \u00a0 ) . (a) Win32 API , GDI (user32.dll) This was the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/sandeepmathew.com\/index.php\/wp-json\/wp\/v2\/posts\/89"}],"collection":[{"href":"https:\/\/sandeepmathew.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sandeepmathew.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sandeepmathew.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sandeepmathew.com\/index.php\/wp-json\/wp\/v2\/comments?post=89"}],"version-history":[{"count":0,"href":"https:\/\/sandeepmathew.com\/index.php\/wp-json\/wp\/v2\/posts\/89\/revisions"}],"wp:attachment":[{"href":"https:\/\/sandeepmathew.com\/index.php\/wp-json\/wp\/v2\/media?parent=89"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sandeepmathew.com\/index.php\/wp-json\/wp\/v2\/categories?post=89"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sandeepmathew.com\/index.php\/wp-json\/wp\/v2\/tags?post=89"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}