As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I want to implement a web application with separate user interface for mobile and PC. Do you know how can I detect whether it is mobile or not? In general, do you have any suggestion for implementing such application in GWT?
On the client side, you can use the Navigator class to get the platform and the user agent string:
Navigator.getPlatform
Navigator.getUserAgent
Identify devices and platforms that way.
If you are used to developing with the MVP pattern or want to make a mobile version of an existing app, I would suggest to use m-gwt. M-gwt works well with GWT best practices, such as MVP since it tries to only extend the core of GWT with necessary functionality for mobiles. Many of the widgets found in core GWT exist in mobile versions in m-gwt, with better touch support etc.
If you are used to developing iPhone apps, you can have a look at NEXT. Next interfaces uses it's own MVC system, while this means it work well with MVP or for making mobile versions of existing GWT sites, some people might prefer this to using activities and places and it also has a nice widget library.
GwtMobile has a similar set of widgets to m-gwt and Next interfaces. GwtMobile uses its own system to create pages where each of your pages extends a Page class, and you have a goTo method to navigate between different pages. Some might prefer to use other frameworks there you can use Google's activities & places instead. GwtMobile has some nice widgets that can also be used with other frameworks and it also has its own persistence framework.
M-gwt and GwtMobile both have their own Phonegap binding so that you can upload the apps to Apple app store and Android market.
Gwt-mobile-webkit is currently not so much about mobile as the only thing that is usable and not currently integrated in core GWT is the Database API. If you need Web SQL, then gwt-mobile-webkit Database API is your friend
If you want very simple no-frills widgets and no animations, but compatibility with stone age browsers, then have a look at informagen mobile gwt
The code is hidden away in the maven repository.
One of the most popular javascript frameworks, Sencha Touch, has GWT binding found at http://emitrom.com/gwt4touch The problem with Gwt4Touch is that the widgets in the current version aren't really GWT widgets, just simple wrappers around Sencha Touch. This means that the current version is generally not very compatible with other GWT libraries. According to the developers, the 2.0 version with real GWT widgets should be released around end of December 2011, at which point it will be much more usable.
Generally the mobile GWT libraries support webkit based browsers only as they tend to use newer browser features and CSS3. It is possible to make it work with other browsers, but you will have to create new versions of some of the widgets and animations that do not use CSS3 features found only in webkit.
In conclusion, if you are developing a new app, look into which of the frameworks you like best, if you are making a mobile version of an existing app, you are most likely best of with m-gwt, especially if you are using activities and places. It's possible that Gwt4Touch 2.0 will also work well for making mobile versions of existing apps when it's released, so do keep an eye on that also.
There were a few posts regarding handling the mobile version of Safari in GWT and touch applications on Just enough code to be dangerous:
Adding support for a new browser to GWT - shows how to add mobile Safari as a recognized user agent in GWT
Supporting multi-touch events with GWT on mobile Safari
Multi-touch web apps on the iPad with GWT
Expanded multi-touch example
There might be some other posts there that could interest you - have fun digging :)
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Is there any document to develop cross-platform mobile application. I have try to go with phonegap but I couldn't find any documentation to develop high level application using that like, server communtication, with social networking integration, Game development etc.
I have already gone through the basics for that and also have gone through its site Phonegap.
If anybody is having such documentation please do share.
I have also searched that there are other cross-platforms supports like, titanium appcelerator etc. But not having any knowledge about that.
I would be really thankful as i want to learn cross-platform mobile application development.
First, before jumping in the cross platform development mobile world, you have to choose between :
HTML/JS/CSS based method that will allow you to embed your web application in an executable using a framework(Like Phonegap).
A framework that will allow you to program using one language (For example, in Titanium, you use Javascript) and then turn is into a full native iOS/Android application.
Then next question that will come to your mind is : Which one should I use ? Well, we already discussed it here and here. To sum up that post, Titanium (obviously) renders the views quicker. Use Phonegap if you have an existing website and want to use the same client logic (using the same js, html and css).
The last question is about documentation : For Phonegap, I think that the documentation is clear and you have to use your own web developer skills.
On the other hand, for Titanium, personally I didn't buy a book : I find the documentation easy to read. What you have to do is practicing and then, you will face some bugs or lacks in the Titanium framework.
If you want, you can find a couple of books in Amazon (like this one).
EDIT :
AFAIK, Windows Phone is not in the Appcelerator's roadmap. I know that the community wishes this platform instead of BlackBerry (always in beta?).
For your question, personnally I prefer Titanium because it really what users want : a true user friendly experience through an adequate UI. Imagine, with one code, you can get two dedicated UI without styling. In Phonegap, I had to create a CSS for iOS and another one for Android.
It's all about UI. Because the business layer is the same.
I really recommand you to try both frameworks (or more) and create a true app with a tables, animations, notifications, web service call, geolocation, transitions and a social sharing functionnality. Then, you can have a true idea about each framework.
EDIT 2 :
To get started with Titanium, you can have a look at some tutorials at this web page.
But, what it really helped me to improve is:
The very complete documentation
The KitchenSink project hosted here. It can help to see how to put in place a good project architecture, shows some good practices, etc.
But beware, Titanium is really good for business apps but limited for games.
Corona would be a good choice for Game development. Titanium is good choice if you want native apps. Phonegap is a good choice if you want/have HTML content but need to access native features like contact lists or camera.
If you go down the route of building an HTML5 app, I would strongly recommend some type of background syncing of content. It is a much better user experience to load html pages from the phone's local disk versus from the web, as discussed in this article - http://www.thorntech.com/2013/01/html5-vs-native-apps-which-will-win-the-mobile-app-development-battle/
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Does anyone has experience building Mobile apps using GWT Java and HTML5?
I came across various articles yet not much useful. I am looking for a full-fledged mobile framework which should be Java based and requires no server side.
GWT in and itself is a good choice for mobile development, quoting GWT website:
... write AJAX applications in Java and then compile the source to highly optimized JavaScript that runs across all browsers, including mobile browsers for Android and the iPhone
As for, the server-side, GWT does not require a server side to run except for the download off-course. That is, if your app is supposed to be launched through a browser then you are all set to go. But if you are thinking of creating an off-line sort of app, then you'll need to look beyond GWT. You can still use GWT compiled scripts, but you'll need a native launcher that loads the app (in a Android WebView, for example). Writing such a launcher would not be a lot of work. This approach is good for standalone apps that don't require access to native phone APIs (camera, storage, sms etc.)
If you do require access to native phone APIs, you would need something like PhoneGap or Appcelerator Titanium. Both of these technologies allow applications written in Javascript, HTML5 and CSS to access native phone APIs. There is a project, GWT-Phonegap that lets your GWT app use phonegap APIs via GWT's java code.
eskimoblood raised a point about Titanium that as it is first compiled to Java (for android), it will not be suitable to be used with GWT. I searched for details and found that Javascript is compiled to Java byte code using Rhino JSC compiler.
Have you considered the Android platform? Its practically the "full-fledged (java based) mobile framework" that you're talking about.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I am looking for resources to develop HTML5 apps for iphone primarily. Are their frameworks and tools that I can use to get started? I am looking for:
Javascript frameworks that help with UI layout
Touch based controls for phones
Articles on iphone development, best practices, etc.
I searched stackoverflow and was not able to come up with a good list of resources. I am looking for examples like these http://jqtouch.com/
Sencha Touch is a pretty new mobile web app framework that apparently supports Android, iPhone, iPad, etc. Sencha is the framework formerly known as ExtJS.
Here's a demo of the framework: http://www.sencha.com/deploy/touch/examples/kitchensink/
Note: After looking at some screenshots, I'm not sure that the framework results in apps that follow Android UI patterns very well.
Update: Also check out the just-announced jQuery Mobile project.
This is a good book:
http://building-iphone-apps.labs.oreilly.com/
iWekbit was mentioned in articles I read recently. I did not evaluate it thought.
I use jqTouch and it is a good software but its development has been slow last 6 month. With sancha out it is clear why, the guy is moving his attention to Sencha Touch.
ballmw mentions the oreilly book. I read this book, it is a good one. it shows a lot of useful stuff. Two things are important to notice in regard of this book. First, jonathan the author will be the new maintainer of jqtouch. second, the code of latest jqtouch (I write this on 2010-06-27) which is beta2 is not compatible with the examples of the book. the difference is small but out of the box it will not work.
Sencha Touch which I did not evaluate is based on Ext JS (now Sencha), while jqtouch is based on jquery. I never worked with Ext. My understanding is that Ext is not as fast as jQtouch, but take this with a huge grain of salt as I don't remember wehere I got this impression from.
IMHO Sencha Touch has one huge benefit over jqTouch - iPad support. It also has android, but for me iPad is more important.
Sencha Touch and jQTouch seem to be it as of this moment.
I'm hoping a framework/library will come out which explicitly says it can handle:
iOS devices (e.g.: iPhone, iPod Touch, iPad)
Android OS devices
webOS devices (e.g.: Palm Pre)
Windows Phone 7
Another great framework for developing for most of the available platforms is jQuery Mobile Platform which is available at www.jquerymobile.com . It provides a cross-platform compatibility between ALMOST every platform. I learned about the framework through my degree-program in Mobile Development. It is completely free and has a full documentation of implementation. Just click on the Docs tab at the top to see easy to understand implementation of jQuery Mobile Platform.
Sencha-touch framework is the best options to get started with easy to use and well documented
and since it has support for phone gap,then you don't have to think alot the devices,just build the app and upload it to phonegap and it will the build application for the rest of devices
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have a client asking about the rhomobile framework. I have been researching it a bit and wanted to see what the community at large thought about the framework and what, (if any), problems you came across in developing with it.
Thank you,
L.
Only the view of the application is rendered in the browser of the platform. There are bindings to access native capabilities of the device from ruby code (taking a picture, accessing GPS data...) and it is possible to extend this with own native code. Of course the view is just HTML and won't be as native as the native UI of the device, but that's the price you have to pay for cross platform development. A big strength of RhoMobile is the build-in sync-capabilities, which lets you synchronize model-data with a central backend.
I have used an app that uses the framework and have to say that it feels sluggish. From reading the documentation it seems like a valid choice if you want to quickly release a cross platform application.
Basically the strategy of RhoMobile is to leverage the browsers on each device to create a "native feel" by styling the web controls to look like "standard" controls on each device. This means you're somewhat limited in what you can do by what the web capabilities are of each OS/device. So each app is a native app, but it still essentially "runs in the browser".
I'm also unsure of how deployment works with the various platforms, like the App Store and Android Market.
You still need a Mac OS X to deploy your app to App Store with these multiplatform Mobile Developer frameworks. Here an employee of Rhomobile develops the app in Windows, yet changes to Mac OS X to deploy it for using Application Loader app, which only works in Mac.
http://rhomobile.com/iphonedevelopmentwindows/
Recently 15 days ago I started learning Rhomobile and developed a few problem.Creating simple applications involving CRUD functionality is cakewalk .
But there are some cons also which I had mentioned in this .apk file build with Rhohub not working on the device
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Have any well-documented or open source projects targeted iPhone, Blackberry, and Android ? Are there other platforms which are better-suited to such an endeavor ?
Note that I am particularly asking about client-side software, not web apps, though any information about the difficulties of using web apps across multiple mobile platforms is also interesting.
The HTML5 standard has support for releasing stand-alone HTML5 apps. Essentially a HTML5 app is a bundle of HTML5, JavaScript and CSS files that will run stand-alone in the browser of the desktop or device. You can distribute them like any other program, including selling them on the iStore for the iPhone.
The support for this is patchy at the moment but is likely to improve tremendously in the next year or two.
Google for HTML5 apps for information and resources. A good introduction to HTML5 is the online book "Dive Into HTML5" by Mark Pilgrim. This is a work in progress, but sufficiently complete to be useful.
There are 2 [newish] solutions to exactly this issue:
rhomobile
and
phonegap
I think there best chance for cross-platform mobile success is the Web. Just write a very simple Web application for what you want to achieve. It should work on the Nokia S60browser, Iphone and Android.
That's already a lot of mobile devices...
Appcelerator, PhoneGap (acquired by Adobe, plus it's now standardized as Apache Cordova), Intel XDK (formerly called appMobi) and Rhodes (acquired by Motorola Solutions) are all open source and create hybrid apps (natively packed with html ui, with the possibility to add some of your native controls).
If it's a game, your only professional choice for a free engine that can be used for commercial development is Unity3D. For 2D games, cocos2d-x is also available. Additionally, Vuforia can be used for AR and LiquidFun for physics.
XMLVM (via Coke and Code) and EdgeLib currently seem to be the most mature options. EdgeLib is aimed primarily at game developers, and according to Coke and Code, the XMLVM developers are difficult to contact.
The iPhone uses Objective C, the Blackberry Java SE with RIM functionality and Android another custom version of Java. I could possibly see how you could combine the latter two but there is no functionality (without jailbreaking) of running Java applications on an iPhone.
The best bet I've seen so far is something like Qt that will run on Windows CE, almost certainly shortly Symbian, some Java platforms and the three major desktop OSs.
redfivelabs have implemented the .Net compact framework for the S60 platform
Titanium Mobile from Appcelerator looks interesting. You develop your app in HTML & Javascript and upload to their server where it is compiled into a native application of the target platform (currently iPhone & Android)
For the iPhone there's currently no such notion as Open Source as the Apple iPhone SDK NDA forbids publishing code. They also forbid posting code on any non-Apple site or even non-Apple discussion forums on iPhone development. As soon as the NDA expires (will it ever?) we'll start having Open Source iPhone apps.
Suprised MoSync hasn't been mentioned here already.
Update (2014 January - present): the project is abandoned.
I started to use a really cool cross-platform SDK called EdgeLib. It allows you to use a simple API and you can compile your projects to a variety of platforms: Windows Mobile Pocket PC, Windows Mobile Smartphone, Symbian Series 60, Series 80, Series 90, Symbian UIQ, Gamepark Holdings GP2X, Gizmondo and Windows desktop.
I know iPhone, Blackberry, and Android are not on that list but the developers mentioned that these platforms are on their roadmap.
EdgeLib looks promising and has an iPhone beta announced but not open yet.
jQuery Mobile Alpha 2 Released
Nimblekit
Sencha
Phonegap
Appcelerator
Well BlackBerrys don't really have Java SE, they have Java ME, with a lot of additional librarys provided by RIM. Same goes for Android. The only cross-platform apps you'll ever see on mobile devices are probably written in strict Java ME, which runs on most devices. However, just like JavaScript between different browser, Java ME has is quirks across different devices, so source code changes may be necessary.
I found one game engine for dat
MoMinis games are available for distribution and are supported on Android, Blackberry, Symbian and J2me devices. MoMinis games include a wide range of casual games – including arcade, puzzle, time management, strategy and brain-training mobile games.
mominis
Phonsai is new in the market for cross-platform mobile develeopment "without coding"
It is mixture of do-it-yourself mobile development and content management
You can customize all applications. No templates.
It is SaaS. Totally web based with java web start.
Work with 2000 mobile phone models.
Very simple GUI and no coding. Just copy and paste.
It has create, send and report modules.
And at last it has 4 emulators inside so that it is a WYSIWYG concept.
You can reach Phonsai at http://phonsai.com
We have a cross platform mobile development platform called RAMP. It covers both feature and smart phones from midp 1 to Android. The platform is mostly aimed at secure commercial applications but it is pluggable so you can do almost anything with it.
For more information and access to the platform have a look at:
virtual mobile tech
S60 on Symbian OS has alot of interesting projects happening relating to desktop/server languages to move applications mobile. Some interesting ones:-
Python: sourceforge
Ruby: ruby-symbian
Mozilla: mozilla
S60Webkit: S60browser
POSIX: openc_cpp