{"id":3762,"date":"2011-01-31T11:36:34","date_gmt":"2011-01-31T10:36:34","guid":{"rendered":"http:\/\/www.itwriting.com\/blog\/3762-mobl-a-new-language-for-mobile-applications-with-eclipse-integration.html"},"modified":"2011-01-31T11:36:34","modified_gmt":"2011-01-31T10:36:34","slug":"mobl-a-new-language-for-mobile-applications-with-eclipse-integration","status":"publish","type":"post","link":"https:\/\/www.itwriting.com\/blog\/3762-mobl-a-new-language-for-mobile-applications-with-eclipse-integration.html","title":{"rendered":"Mobl: a new language for mobile applications, with Eclipse integration"},"content":{"rendered":"<p>It has gradually dawned on me that, contrary to first appearances, the Apple iPhone and iPad do come with a capable application runtime for those who would rather not tangle with Objective C; and one on which you can run applications without the hassle of negotiating the App Store. This runtime is the WebKit-based browser and JavaScript engine. This is for web apps of course; but as noted in my <a href=\"http:\/\/www.itwriting.com\/blog\/3744-back-to-basic-with-ns-app-studio-for-mobile.html\" target=\"_blank\">look at NS App Studio<\/a> last week, you can blur the boundaries between web and local by creating a local shortcut and designing your app to work offline. Here is the <a href=\"http:\/\/developer.apple.com\/library\/safari\/#documentation\/iPhone\/Conceptual\/SafariJSDatabaseGuide\/Introduction\/Introduction.html\" target=\"_blank\">Apple documentation<\/a>, which notes:<\/p>\n<blockquote>\n<p>Offline application support is available in iOS 2.1 and later and in Safari 4.0 and later<\/p>\n<\/blockquote>\n<p>So you can do offline. There is also a local database, based on <a href=\"http:\/\/www.sqlite.org\/\" target=\"_blank\">SQLite<\/a>, documented by Apple <a href=\"http:\/\/developer.apple.com\/library\/safari\/#documentation\/iPhone\/Conceptual\/SafariJSDatabaseGuide\/RelationalDatabases\/RelationalDatabases.html#\/\/apple_ref\/doc\/uid\/TP40007256-CH5-SW2\" target=\"_blank\">here<\/a> \u2013 putting iOS ahead of Windows Phone 7, which has no built-in relational database for Silverlight applications. Another plus is that other WebKit-based mobile browsers should work as well, including the one in Android devices.<\/p>\n<p>It is possible to create application frameworks that wrap these features into a single development platform that compiles to JavaScript, HTML and CSS. <a href=\"http:\/\/www.phonegap.com\/\" target=\"_blank\">PhoneGap<\/a> is one example, and NS App Studio another; but today Reddit alerted me to another, Mobl, which has a modern feel and benefits from Eclipse integration. It is also free and open source, and with the right community momentum looks like it could be interesting.<\/p>\n<p>Mobl is a statically-typed language with a syntax similar to Javascript \u2013 there is a guide and language reference <a href=\"http:\/\/hydra.nixos.org\/build\/863834\" target=\"_blank\">here<\/a>. The goal is to create a complete DSL (Domain Specific Language) for mobile development, which according to the web site:<\/p>\n<blockquote>\n<p>Integrates all aspects of a mobile web application into a single language: data modeling, user interfaces, application logic, styling and web services.<\/p>\n<\/blockquote>\n<p>The main author is Zef Hemel, from the Delft University of Technology in the Netherlands. Mobl makes use of <a href=\"http:\/\/strategoxt.org\/\" target=\"_blank\">Stratego\/XT<\/a>, which is a language and toolset for program transformation, and <a href=\"http:\/\/strategoxt.org\/Sdf\/WebHome\" target=\"_blank\">SDF<\/a>&#160; (Modular Syntax Definition Formalism), a language for defining syntax. <\/p>\n<p>Mobl includes data modelling which handles object persistence and a concise language for defining user interfaces. AJAX support is built-in and there is integrated support for RESTful web services and for JSON (JavaScript Object Notation). The Eclipse add-in includes syntax highlighting, inline error reporting, code completion, and reference resolving.<\/p>\n<p>All rather impressive for a project that has just burst onto the scene. I installed the Eclipse add-on and enjoyed its simple license:<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/01\/image34.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2011\/01\/image_thumb37.png\" width=\"404\" height=\"234\" \/><\/a><\/p>\n<p>\u201cThis software is distributed in the hope that it will be useful.\u201d \u2013 though I have not found time yet to try creating an application.<\/p>\n<p>There is more information on the nicely-designed <a href=\"http:\/\/www.mobl-lang.org\/\" target=\"_blank\">website and blog<\/a> and in the <a href=\"http:\/\/groups.google.com\/group\/mobl\" target=\"_blank\">Google Group<\/a>.<\/p>\n<p><strong>Update<\/strong>: thanks to @FransBouma for the link to the Mobl guide.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It has gradually dawned on me that, contrary to first appearances, the Apple iPhone and iPad do come with a capable application runtime for those who would rather not tangle with Objective C; and one on which you can run applications without the hassle of negotiating the App Store. This runtime is the WebKit-based browser &hellip; <a href=\"https:\/\/www.itwriting.com\/blog\/3762-mobl-a-new-language-for-mobile-applications-with-eclipse-integration.html\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Mobl: a new language for mobile applications, with Eclipse integration<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,29,50,56,67,80],"tags":[133,158,356,499,599,601,719,774,875],"class_list":["post-3762","post","type-post","status-publish","format-standard","hentry","category-apple","category-eclipse","category-javascript","category-mobile","category-professional","category-software-development","tag-ajax","tag-apple","tag-eclipse","tag-ios","tag-mobile","tag-mobl","tag-phonegap","tag-rest","tag-stratego"],"_links":{"self":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/3762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/comments?post=3762"}],"version-history":[{"count":0,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/3762\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/media?parent=3762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/categories?post=3762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/tags?post=3762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}