How to create a mobile interface for Grails apps? - iphone

I'd like to have a mobile interface for my Grails app, and am wondering how to go about it, namely how to create the UI.
Google search quickly revealed iUI and the iUI Grails plugin. Both don't seem to be maintained any longer, last releases being in 2009. Despite their version numbers, are they in a usable state?
Are there any alternatives? I remember seeing another plugin for this, but now I cannot find it.
Right now, all we have are iphone clients. In the long run, does a web-app benefit from a vendor-neutral interface, or is it more prudent to create an interface per platform?

I can suggest that you look at Mobl-lang, JQuery Mobile or PhoneGap as your frontend and let your Grails app deliver data to the frontend as JSON

There is grails plugin for iphone like layout http://www.grails.org/plugin/iwebkit.
Here is the reference to stack-overflow ticket which discusses the same issue.
iWebkit vs. JQTouch vs. iUI

Related

Best framework to create mobile applications?

I'm looking for a Framework to create mobile applications, if possible writing all code in Java. The idea is create for all mobiles Android, iOS, Windows Phone etc.
I found: Sencha, Vaadin and others.
What's the best ?
if you need to build cross mobile application you can use phonegap http://phonegap.com/ it is better you can use javascript and HTML and CSS to build applications.
Xamarin is another great one. I think you're asking the wrong question though. There isn't really a BEST one, its more what fits into your style. Some might say phonegap is the best, but you can't use code behind in phonegap only HTML CSS and JavaScript. So you gotta find what works best with what you want to do.
Also, look up chrome web apps. You can now develop apps using chrome rendering engine and usual html css and other web based code types and package into apps for the different os app stores.
Everyone is talking about Ionic, I am using it and I love it. Here are some slides to introduce you.
I would use ionic framework, is based on apache cordova, and use AngularJS. If you dont know AngularJS you have other alternatives like goratchet made by bootstrap creators. The only 'problem' is that you'll have to use javascript, html and css, not Java.
I am using ionic framework as well. The best part is you do simple command like ionic build ios to have an ios version of your app, as well as ionic build android for android version.
AngularJS is actually easy to learn (as long as you have basic understanding of JS), the best resource would be egghead.io. I use Ruby on Rails as backend to render an API for my ionic app to consume, so i pretty much don't need to use NodeJS or other JS framework as backend. Also, there is a lot of support for ionic. You can always search Google for a codepen example if you need help.

Vaadin Touchkit or mgwt

I am evaluating possibilities to create mobile hybrid Apps with GWT and Apache Cordova / PhoneGap. I already build a small prototype with mgwt and liked it, but I would like to research a few other possibilities before starting the project. Therefore I took a look at Vaadin and its AddOn Touchkit.
I have the following questions:
Is it possible to use the Vaadin Touchkit Addon in a Client-Side Application which does not need a permanent server connection?
In the mobile chapter of the documentation an example is shown that is a Server-Side Application, as far as I understand it and therefore would need a server connection for each UI event. Please correct me if I'm wrong, I have no experience with Vaadin.
Is there any difference between a "normal" GWT App and a Client-Side Vaadin App?
Does it has any advantages to use Vaadin Touchkit instead of mgwt?
In general is Vaadin Touchkit comparable to mgwt and if yes which are the main differences?
You can build a Vaadin TouchKit applications that work offline. The "Parking Demo" shows this: http://demo.vaadin.com/parking/ (Source code here : https://github.com/vaadin/parking-demo) By default, default the application is online, but for the data entry the app uses offline (client-side-only) approach.
If you are building a client-side Vaadin app you would still use the TouchKit widgets. Until version 3 TouchKit widgets have followed the iOS native widgets, but v4 introduces new styles that are more device agnostic and better suitable also for Android devices.
The most prominent difference (and advantage, if you wish) of Vaadin TouchKit is however the default server-side programming approach. It is very quick to build mobile optimized web applications - especially if you already have an existing Java web application and business logic in place. For client-side apps the visible difference is the look-and-feel of the Touchkit and mgwt widgets.
Generally this is also where it boils down to: If you are quite ok
to have parts of the application running online (data on server) and
need the offline-mode is only needed for some parts of application,
Vaadin TouchKit is very quick and efficient way to build decent looking apps. On the other hand, mgwt
gives you direct start on the client-side-only applications and is
maybe better optimized for that.
You had already found out that both suffer from the sandboxing of HTML5 applications. While camera and location APIs are available a solution like phonegap is still needed to really integrate with the device and match native applications.

Cross-platform mobile app & RESTful web service & scoring algorithms - architecture & technologies

I am planning to create a cross-platform mobile app that has native-like versions for most mobile platforms, maybe Windows Phone, Android, iOS. It's supposed to store data in DB on server, and the mobile app is mostly for visualizing that (numerical) data.
Basic usage scenario
User opens the app
App data is refreshed via internet connection
User inputs new data
New data is sent to server, handled and DB updated
User's app data is updated according to DB data (ANIMATION!)
User updates settings on his app that alters it's behaviour.
I'm a noob when it comes to designing and programming mobile apps + web services alone, so I'm hoping you could help me with the following questions. Technologies I'm most familiar with: Java EE, Python, HTML/CSS/JS, MySQL, Graphics. Maybe I should go for PhoneGap? Thanks a lot!
1) What cross-platform mobile technology you would recommend?
2) What kind of solution would be most suitable for server/app server? (Estimated code lines < 5000)
3) What's a good place to start learning scoring algorithms?
Please respond if you have answers to any of the questions asked.
EDIT: found a similar question: Cross-Platform Mobile Application Solution
#thevangelist: It's a very good question you have raised, all mobile developers face the same problem when we start writing an app. Today there are multiple Open Source Frameworks available in market which are trying to solve the same problem but in different manner.
Based on my research and experience, I would like to recommend below technologies which we can consider while building an mobile apps.
View: View is an important part of any mobile apps. When we start building UI/UX we also have consider it's platform design principles. Looking these points I would like to recommend React Native for the same.
React Native: It is a Facebook, and Instagram developed JavaScript library used in creating native mobile applications. It allows us to write iOS and Android applications using JSX, a known HTML look-a-like code, and JavaScript. It is based on “Learn once, write anywhere” methodology.
Pros
Renders native views with a native behavior and interaction … you’ll end up with a real native application
Has a paradigm of “Learn once, write anywhere” where developers only need React and JavaScript to create better application for Andoroid, iOS.
Uses native architecture and concept
It does not require a WebView
CSS Flexbox is used for layout design
Cons
Code abstraction leads to bugs and memory leaks
Cannot work without the API, which is provided by React Native, technically there’s no fallback like with classic hybrid mobile apps
When creating proper native applications, a developer will have more power and control regarding performance tuning
React Native is still a new framework so we can’t predict possible problems and downsides
These cons are somewhat negligible, especially if we consider that React Native is empowering more and more native applications with each passing day.
Data in Transit: If your app sync data from web services, then there are multiple frameworks available in the market to make our job easier. Please find below some of the most popular JavaScript RESTful Frameworks:
ACTIONHERO, StrongLoop
Data at Rest: You would also be needing offline storage for the sync data. Since we do not have direct support for native SQLite in JavaScript, we need to use some of the React Native SQLite Plugins. Please find below plugins which are available in the market:
almost, andpor, jbrodriguez, ramsundark5, remobile
For Data at Transit/Data at Rest, I would like to recommend Siminov Framework which is available on all the major platforms (Android, iOS, Windows). It also supports hybrid technologies such as React Native, Cordova, Xamarin.
Pros
Available on all the major platforms (Android, iOS and Windows)
Easy to configure, it provides standard xml based structure using we can easily configure our app database
It allows developers to bind ORM with remote RESTFul web services too
Also have support for SQLCipher on all the platforms
Cons
Lack of community: Recently they have launched their products on all the major platforms, not many people are using it.
Since the configuration is based on XML structure which looks pretty old to me. But based on their documentation it was done to support all the major platforms
Algorithm: I have found this link nurlybayevaAMS9 related to algorithm, hope this may help you.
Try avoid writing cross platform application. It is doable using HTML5+jQuery. But you can never get the same look and feel as native app. secondly windows, ios and android have their own look and feel and will come up with their own elements. You can never cater to all three having same code base. Better is to code using native sdks.
1) Never used PhoneGap, although aware of it, but don't forget to consider a simple HTML5 application. If possible, this would save you lots of work and maximize compatibility.
2) You can develop great RESTful webservices with both Java EE (see JAX-RS/Spring) and Python (see django). The choice is really more a matter of personal taste.

Optimise ASP.NET application IPhone and Android browsers for ASP.NET application

I have an ASP.NET (not MVC) application.
I would like to create a version that is optimised for browsers on the IPhone and on Android.
Some questions
Is it possible to detect IPhone/Android when the site is accessed
Are there any gotchas/tips for developing ASP.NET for these devices.
We're using a combination of .net webforms and jQuery mobile.
For our viewstate, it's been pretty well neutered already so only minor stuff is going down to the device.
Bear in mind that there are around 3 different mobile api's. Each of which has their own drawbacks. You might want to investigate each.
Also, we took the approach that the mobile site was a completely different website than our standard one. When the user comes in, we do some browser sniffing and push them to mobile if it matches with a link to move back to the full one if they want.
Webforms aren´t good for mobile, it generates big pages because viewstate. And you can´t control rendering (some more in .net4).
You can detect device using a db of capabilities like WURFL (I recommend 51degrees) o maybe using some like http://detectmobilebrowser.com/
I don´t know what kind of webapp but you could make a new app, maybe using MVC. Please look this resource.

Mobile UI that works well for both iPhone and Blackberry Web Applications

Can someone recommend a good Mobile UI Javascript/jQuery framework that works well with both the iPhone and Blackberry? I'm developing the core app from ASP.NET.
Thank you in advance.
I don't have any personal experience with any of these, but I thought I'd mention a few that I've heard of. It will probably depend more on the features you require for your specific application, to determine which framework suits you best. Also, this is by no means an exhaustive list - the "cross-platform" mobile frameworks seem to be popping up all over the place recently!
Rhodoes
PhoneGap
ramp
appcelerator
As it is today, the BlackBerry browser is not very friendly to these libraries. But the upcoming version will support HTML 5, which will allow you to use most popular js frameworks. From personal experience I can recommend Sencha and jQuery.
I would recommend Sencha Touch or Sproutcore.
Sencha Touch is very similar to EXTJS, which a lot of front end developers really like. Check out
http://www.sencha.com/products/touch/
It is probably more mature than SC, and you will have a larger developer base on which to draw. You are gonna wanna try out the demos on that link, on a phone or ipad if you have one.
However, I personally like the strong MVC pattern that Sproutcore enforces. The mobile framework exists, but I don't know of any major clients adopting it, yet. The founder of SC, Charles Jolley, recently left Apple to push his framework; its gonna be big.
BlackBerry has very basic browser.
But for iPhone, you can try jQTouch. Its lightweight and amazing.