{"id":231,"date":"2009-01-27T09:15:05","date_gmt":"2009-01-27T17:15:05","guid":{"rendered":"http:\/\/jaredrobinson.com\/blog\/?p=231"},"modified":"2009-01-27T09:15:05","modified_gmt":"2009-01-27T17:15:05","slug":"the-future-of-gnome-apps-javascript","status":"publish","type":"post","link":"https:\/\/jaredrobinson.com\/blog\/the-future-of-gnome-apps-javascript\/","title":{"rendered":"The future of Gnome Apps: JavaScript?"},"content":{"rendered":"<p>There&#8217;s an interesting article called &#8220;[Building desktop Linux<br \/>\napplications with JavaScript](http:\/\/arstechnica.com\/articles\/paedia\/javascript-gtk-bindings.ars?bub)&#8221; By Ryan Paul, January 19, 2009.<\/p>\n<p>I didn&#8217;t immediately understand the vision. Don&#8217;t we already have<br \/>\nPython, Ruby, Java, C++ and Perl bindings for Gnome? Yes, we do. So why<br \/>\nwould we add JavaScript to the mix? Or any other scripting language?<\/p>\n<p>The best way to think about it is Firefox plugins, like Greasemonkey,<br \/>\nthat actually modify the web browser to give you a new experience.<br \/>\nFirefox extensions are written in JavaScript. JavaScript has hooks into<br \/>\nthe application (Firefox) to manipulate it.<\/p>\n<p>Gnome hackers want to do the same thing for Gnome. Not only could you<br \/>\nwrite Gnome application in JavaScript, you could extend a Gnome<br \/>\napplication using JavaScript, no matter what language it was written in.<\/p>\n<p>Another way to think about it is this: When most people think of Java,<br \/>\nthey don&#8217;t think of the language. They think of the platform &#8212; the<br \/>\nlibraries that are shipped with the language (networking, database<br \/>\nconnectivity, etc.). The same is true for Python, Perl, and Ruby.<\/p>\n<p>The goal is to us an embeddable language to tweak the Gnome platform,<br \/>\nnot to use a platform (like Java, Python or Perl) to tweak Gnome. When<br \/>\nthey embed a language into Gnome, application developers will use the<br \/>\nGnome platform way of doing networking, instead of doing it the Java<br \/>\nlibrary way. They will use the Gnome way of opening file picker, not the<br \/>\nJava library way. They will use the Gnome way of doing HTTP, not the<br \/>\nPython or the Java or the Perl way.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s an interesting article called &#8220;[Building desktop Linux applications with JavaScript](http:\/\/arstechnica.com\/articles\/paedia\/javascript-gtk-bindings.ars?bub)&#8221; By Ryan Paul, January 19, 2009. I didn&#8217;t immediately understand the vision. Don&#8217;t we already have Python, Ruby, Java, C++ and Perl bindings for Gnome? Yes, we do. So why would we add JavaScript to the mix? Or any other scripting language? The best &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/jaredrobinson.com\/blog\/the-future-of-gnome-apps-javascript\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;The future of Gnome Apps: JavaScript?&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,12,17],"tags":[],"class_list":["post-231","post","type-post","status-publish","format-standard","hentry","category-linux","category-programming","category-tech"],"_links":{"self":[{"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/posts\/231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/comments?post=231"}],"version-history":[{"count":1,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/posts\/231\/revisions"}],"predecessor-version":[{"id":232,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/posts\/231\/revisions\/232"}],"wp:attachment":[{"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/media?parent=231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/categories?post=231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jaredrobinson.com\/blog\/wp-json\/wp\/v2\/tags?post=231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}