Blackberry apps: Native or webapps? - java

I have read the Blackberry documentation and it is possible to push a notification from a webapp. I am planning to create a Blackberry application that compliments to our webapps. But I am still left in the middle whether to develop a webapp or native Blackberry app. I have also look at how a webapp runs on Blackberry browser and it looks smooth.
From your experience does the native app offer something that the webapp doesn't? Bonus question, is Facebook and Twitter app on Blackberry a native app or a webapp? If it is a webapp, is it possible to make a launcher for the application on Blackberry?
Thanks for your help.

Facebook and Twitter are on both types. The web apps are just a website formatted for a small screen so anything you do in say asp.net will show on a blackberry web app if you program it to. The native app just feels like part of my phone. You can save data on the phone so if your app is a relating to news or something that would be stored I can read it offline or slow connectivity (camping, rural areas, etc...). It can also interact with other feature that blackberry offers such as contacts, email, media player, etc...
If you would like to save anything for the user to view without pinging the internet a native app would be preferred.
It's possible to create a launcher but I haven't created one so I'm not sure of the details. I would assume it's just an app that opens the browser to your URL.
One more thing about a web app would be if your application stores users settings (twitter auth key, etc...) they would need to be stored on your server and not the users phone adding more expense and maintenance.
Good Luck.

Widget is not supported for device software less than 5 , you combine both of web and native development by using browser field ,but you need to consider that its Java Script support is poor

Let's not forget that the blackberry browser is really bad as well. I don't know any BB users who would want to use a web application because of that.
When it comes to native apps, you have some choice however and you are not restricted to java (depending on which OS version you want to target). In addition to the mentioned Java, you can use Widget (link for resources) that behaves like a native app, but can be accessed like a web app.

I was just at innoTech and they had a whole session on this topic. But instead of recaping it let me just post the funny video they showed at the end which sums it all up.
Mobile Dev Rap Battle: Native Code vs. Web Apps

Related

converting desktop web app to mobile app?

I am working on desktop based responsive web application where UI/front end will be in HTML/JS and back end point will be either servlets or struts/spring controllers.
My question is say after 3 years i want to have android mobile app , can
I continue to use my servlet as back end code and serves the response coming from android mobile app,
Mine understanding :- I will develop the native UI part(wherever it is required) using android SDK which then can communicate with existing servlets .
Then android app on mobile can render the html returned from my servlets or servlets can return the android specific views. so changes are required only whenever i need custom views(htmls or android specific views) for my mobile application. Is that right ?
after 3 years... can I continue to use my servlet as back end code and serves the response coming from android mobile app
We have no way of predicting the future with accuracy.
Then android app on mobile can render the html returned from my servlets
To render HTML in Android, you use WebView (or maybe a third-party library, though that is uncommon). WebView handles lots of stuff but not everything that a desktop browser does. How well that all works three years from now is unknown, and how well it works today with whatever your Web site does is unknown.
or servlets can return the android specific views
No.
so changes are required only whenever i need custom views(htmls or android specific views) for my mobile application
Can you get that to work? Possibly, but the details will depend a lot on what your existing Web site does and what sorts of client-side technologies it depends upon. For example, Android does not support Flash. There are also technical and security issues with interoperating between Java based UIs and WebView-based UIs, though this is a bit better in your case, as you are only hitting one server (I think).
All that being said, I would never write an Android app this way, and I would never recommend anyone else write an Android app this way. I would revise the Web server to have a proper Web service API, and I would write a native Android app that uses that Web service API, not using servlets returning HTML. The primary place where I would use WebView is when I had material that only exists in HTML, typically because I did not create the HTML in the first place (e.g., user-generated content).
Primarily mine question is can I continue to use existing servlets. I don't think its based on opinion. It should be either yes or no
Of course it is not "yes or no". We have no way of predicting the future, and we know almost nothing about the Web site. Your question collected two "too broad" close votes, and that is a reasonable assessment.

How can I convert my gwt app thats hosted on app-engine into a installable mobile app?

Currently my app is created in Eclipse using GWT and Coded in Java. I have the app hosted on app-engine and all my data is saved in the browser using html5 storage. I want to have this app installable on an iPhone so I included "\<\meta name="apple-mobile-web-app-capable" content="yes" />\ " in my html file, and even included a custom icon etc for the iPhone.
Upon installing the app on my iPhone, everything works fine online but offline the app won't even load. I've been reading about manifests and yaml's but I cant get a clear picture of how to set my app up mobile, and have it save data locally on the phone (app cache).
Please help!
You need to start reading about HTML offline apps for iPhone. There are a lot of resources about this on the net, for example this and this.
mgwt - mobile GWT has a HTML5 Manifest Linker, see: http://code.google.com/p/mgwt/wiki/HTML5Manifest
This can be easily used to store your app locally.
Also stake a look at the mgwt settings class: http://code.google.com/p/mgwt/source/browse/src/main/java/com/googlecode/mgwt/ui/client/MGWTSettings.java
There you can find all the properties described in the tutorials Peter Knego described.

Controlling Mobile Devices Camera On A Mobile Site

We are developing a mobile web application which user's can reach via their mobile phones' browser. (It's not a mobile phone application, it's a web site for mobile phones) .
We want to get (upload) pictures directly from user's telephone's camera. How we can control user's camera ? I know it's not possible for mobile web site. But for example can we use Java for this? Or can we develop small plugins for mobile phones and trigger it, when user click on Capture a Photo link ?
Can you give any advices us please? Thanks !
(except this answer on this question :
can users take pictures and videos before and then select the file via
a browser dialog (if that is supported by mobile browsers) and select
those files to be uploaded)
Q&A's from comments :
1) Well what phone operating systems are you targeting? iOS, for example, has no ability to run Java.
Actually, we are targetting all OS.
iOS has no ability to access the camera from a website. You cannot load Java on iOS at all, either.
Android had the ability to access the camera from HTML demoed a while back, but I can't find anyplace noting that it actually made it into a release.
Blackberry as far as I know also has no such ability to access the camera from a website.
If you wish to use Java, you can develop an actual app for Android or Blackberry. iOS apps are written in Objective C.
However, using PhoneGap you can write an app in HTML5 & Javascript and it will create a native iOS (for 3GS or later) or Android app capable of accessing the camera.

java or php for developing database driven android app

I have an existing PHP MySQL web app that I want to make an android app for to look up account info, get status info for work orders, upload photos, etc.
I'm new to Android Dev and found a site phpforandroid.net that says I can use PHP to build android apps. 6 years ago I did a basic Java class n learned a little about Java, but not much.
I want to have a login to the app, then present a menu to drill further into heir account info.
My first choice would be PHP if the database interaction can happen, but I don't really know. Anyone else gone down the PHP db driven route, or is Java the way I should go? Any tutorials you would recommend?
What are the community thoughts? THanks.
Why don't you build a smartphone compatible website (i.e. with jQuery Mobile)? You could use your existing PHP knowledge and the app would run on any descent smartphone, not only Android.
How about a mobile version of your web app? You could make it work on other phone platforms, you'd have full control over the code, instant updates without bothering the end user.

Java web start on iPad

Can I run Java applications (Java Web Start) on iPad?
Looks like this is not possible, but someone suggested using Cloud Browse (an application I couldn't' find) to run Java.
Any solutions?
UPDATE: Cloud Browser is an application that was available on the App Store but it was removed my Apple. Cloud Browse would process the web site externally and then stream the web site content to your iPad screen (something like video streaming).
No, you cannot run Java programs on the iPad (or any iOS device). Apple's license terms forbid running applications that can execute code downloaded from the Internet (which is what Java Web Start is all about).
No, as staffan said, Webstart will not work. However using CloudBrowse, an applet can work. It looks like the idea behind Cloud Browse is that the browser gets rendered on the server and video of the web page get streamed to your phone. This way, it appears to the user that applets or flash are running on the ipad.
I tried CloudBrowse on my IPAD as I've got a Java Applet that runs inside a brower and wanted it to work on my Ipad.
I found that it works pretty well. The Java Applet has a 3D animation, it's not as smooth as running on Windows/Mac through a normal web-browser, but it's pretty good.
I paid for full version, wasn't that expensive and to me, worth it. Opens up the power of using Applets but within Ipad!
Check it out here ... 3D sailing replay.

Categories