Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
These seem like a great combination--I'd expect to see more on at least GWT/iPhone integration, but there isn't much.
I've looked through the reader example that Google made, but it doesn't seem to take advantage of many of the iPhone features.
I was wondering if anyone knew of a tutorial/resource that showed how to use things like location, orientation, stretch/squeeze and various iPhone-specific controls--as well as integration with services like Google maps.
It would be nice if it also used AppEngine, but that is pretty easy to integrate later if not.
Perhaps I'm asking for too much, but I'd even settle for a very technical blog that focused on these platforms...
We have developed a GPS App for iPhone/Android with GWT and AppEngine (m.geotako.com):
Technical Info:
Back-end using Google AppEngine cloud infrastructure
Front-end using Google Web Toolkit which can run on both iPhone
Safari and Android Chrome (also other desktop browsers)
GWT based internationalization
Integrated with Facebook Connect for wall posting
Using Google Maps API for reverse geocoding (retrieve your address
automatically when you add a new
location)
HTML5 based Geolocation for tracking your location with GPS
HTML5 based Web Database for storing local information in the browser
Features:
Discover interesting locations around you with beautiful photos
Share your journey with friends by checking-in to locations around you
Grabbing mayorship of a location when you checkin frequently
Post to Facebook wall when you checkin
Locate where your friends have been to
Add new locations with photos
A ranking showing the top travelers with the highest number of mayorships
Support English, Traditional Chinese and Simplified Chinese
You may try it here: m.geotako.com
The app can also be found in Google App Engine Applications Gallery
GWT doesn't actually support most mobile browser features (touch events, geolocation, orientation, etc.) out of the box, but the gwt-mobile-webkit project aims to add those features, specifically for the iPhone browser. They even have some demos and example code on their project home page.
Have you looked through the Apple sample code? They wrote example programs for most of the iPhone specific features.
http://developer.apple.com/iphone/
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
I want to build an application for all platforms but I wonder!
What is the difference between ionic-Framework and Xamarin.Forms and,
Which is better to build an application for all platforms?
In the hands of skilled engineers, Ionic and Xamarin are both exceptional cross-platform development assets, which, compared with building native apps for two or more platforms, will save your business both time and money. Any decision about which one to use, though, should be subject to rigorous assessment of your needs, budget, and development objectives.
If app quality is a priority, you’re integrating with a lot of preexisting .NET architecture, and/or you need to build apps for a wide variety of platforms and versions, Xamarin will almost certainly be the best fit.
For smaller or less frequent projects on restricted budgets, Ionic will provide you with a fast and effective route to functional if unspectacular mobile apps for iOS and Android devices.
Depending on your resources, and whether you will develop apps in-house or with the help from external development companies, you might even wish to utilize both of these popular frameworks. Neither one is particularly costly to implement, especially since Microsoft started bundling Xamarin for free with the Visual Studio Community edition and Xamarin Studio (for Mac).
I think it mainly depends on what you want to do in your application.
If all you want to do is pushing some data and images (e.g. create a shop platform) i don't see any reason, why ionic wouldn't do the job and probably you'd see results a bit faster, as you don't need to struggle with a lot of native adaptions (such as file system access, etc...), though I don't think that choosing xamarin would set you back in terms of X months more.
However if it comes to using native features, such as camera, gps, sensors, whatever you will probably be limited to what the ionic api offers and I don't know how long the turnaround times will be until new features which may appear in the future are getting implemented into the framework.
Performancewise I am honestly sceptical if that mix of html, css and javascript/jquery will be anything comparable to what xamarin can get you to, as Xamarin actually produces an app which can compete with apps written natively.
I am not sure how deep you can get "under the hood" with ionic, though I know that with xamarin, you can actually go very deep and develop features that can use the native code of your target platform.
Actually by looking at the user base (or better to say the amount of questions here on stack overflow) one might be tempted that ionic has more questions than xamarin.forms, however that doesn't take into account that actually any question about xamarin, xamarin.forms, xamarin.android, xamarin.ios and c# might hold relevant answers and support for your upcoming problems. However to be fair, also ionic has quite an impressive amount of q&a answers posted here, so i would say that is a draw.
My conclusion would be: If you need to create a data-pushing app fast, you could use ionic, however if you need performance, native methods and want to be able to use particular native features, Xamarin would hold that door open for you.
Disclaimer: I have been developing apps with xamarin forms for about 5 years now and have never used the ionic framework at all and therefore my knowledge about ionic is limited to what I read on summaries. Probably my answer might omit particular benefits that ionic might offer and I really hope that a more experienced ionic developer might have something beneficial to add.
However, If you were asking about my personal advice, My answer would be: Use Xamarin
We had to answer this question about 18 months ago. For us the core question was if the app also needed to be deployed to a web environment. In our case we needed to support the same functionality in a native iOS/Android app, as well as a website (for the features that the web can handle). In that scenario Ionic is the clear winner.
If you don't have to worry about web, then I think Xamarin is a great option. I'd also be checking out Google's flutter too, which is a newer cross-platform option (again assuming no web needed).
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I recently found in news that KaiOS has been used in 4G Volte Enabled feature mobile phones. I was wondering how to create apps for KaiOS. Any help on creating apps for KaiOS has been greatly appreciated.
You can find the kickstart here https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Firefox_OS_apps/Building_apps_for_Firefox_OS but as KaiOS is B2G forked i would still suggest you to go to kaiOS official website to check the proper flow for the application development.
Below are the series of steps you need to go through if you don't want to get stuck in between of development:
First you should understand how applications actually work in kaiOS environment and for that you need to first understand the architecture for that. You can give a read to https://developer.kaiostech.com/introduction/architecture for more understanding.
Then comes setup for your application which you will find here at https://developer.kaiostech.com/environment-setup . Mozzila firefox shift+F8 will open the webIDE where you can see your devices connected but for that you should have proper drivers installed for your phone. You can use firefox emulator 2.2 (stable) as well for initial start.
Now its time to have your first application onboard to kaiOS . You can make your application in any of the client specific JS like angular , react or even plain javascript but the important part is to have manifest.webapp in root folder for compatibility.You can give a read to https://developer.kaiostech.com/first-app.
You are able to see your first application on your phone !! Now the real pain arrives when it comes to navigate through the application by keypad but thanks to naviboard library which will do this work for you to align your navigable items and navigate through it by simple API’s. You can find the library at https://github.com/amanboss9/naviboard.
When you are done with navigation part of feature phone, you can go through and develop as much as you can as if it is a web application and can develop a lot of things.
Check the sample project at https://github.com/amanboss9/kaios-angular-app. This Boilerplate can save lot of time when it comes to setting up everything from scratch.It included Angular1.6, naviboardJS(For auto handling navigation part of your application) and Gulp.
KaiOS is based on Mozilla's open source B2G OS. The apps are built purely with HTML/JS/CSS stack and any web application/website that is mobile friendly can be an app with just minor modifications. You can use the inbuilt webIDE to build apps for Mozilla OS, see more here.
https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Firefox_OS_apps/Building_apps_for_Firefox_OS/Firefox_OS_app_beginners_tutorial
I used to build apps for Firefox OS before it was dead lets hope to see whether it's reincarnation succeeds.
I will try making apps when I get my hands on the Jio Phone and will update here.
Update:
KaiOS has released a newly updated their website with a new IDE called Kaiosrt which is much better and actually works.
KaiOS is a B2G OS forked from Firefox OS.
You can use Angular/React/Jquery or any JS lib/framework to develop apps on Kaios
Packaged app should have all js/image/html/css file packed locally, External link reference in index.html will not work. Blocked by default- CSP policy.
Mobiles (JioPhone/Nokia Banana phone) with keyboard needs to handle its own key events, Refer Kaios Sample app
This is in the FAQs of KaiOS offical website:
Can I develop apps for KaiOS?
KaiOS is a curated platform for apps and we are working closely with
app developers to provide the best experience for our users. At the
moment we are not accepting submissions into the Store, but will do so
in the future.
(https://www.kaiostech.com/faq/#question-12)
Guess you could leave your contact email there and will get updates in the near future.
KaiOS have officially launched the KaiOS Developer Portal.
It's got everything developers need to start building and distributing KaiOS apps.
Furthermore, build your first app with JavaScript (Vanilla), React,
Vue.js and Angular with code examples herein. Then, testing your
apps with WebIDE or Simulator.
Tools and resources include:
A guide to building your first app, with sample code, reference guides, and software development kits (SDKs).
Instructions for ENV setup to configure your development environment.
A simulator running Gaia and web apps in a Gecko-based environment.
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/
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I want to get into mobile apps, I was wondering if there are any known resources (books, tutorials, etc) that teach both iphone and android development at the same time (I realize this might not be a good idea, if you have an opinion why this is a bad idea I'm interested in that too)?
Are there tools that abstract the environment out. For example, write the program in language X, push a button and you have both an iphone and android app? If these do exist, any opinions on them?
To be honest, I'd be very surprised if you found such a book as whilst there are commonalities in the approach (both are event driven, etc.) the specifics of the underlying languages of Objective-C and Java are quite different, hence it would be a somewhat splintered tome.
I'd also be tempted to avoid any tools that "abstract the environment out", as you'll just end up producing apps that don't quite feel right, at least in my experience, as they inevitably won't be using all of the available native functionality provided by the environment. Then again, perhaps that's sufficient for your requirements.
Irrespective, in terms of good books for iOS (I've not yet delved into Android), I'd heartily recommend iPhone Programming: The Big Nerd Ranch Guide, perhaps after a read of Learn Objective-C on the Mac.
If however, you just want to dip your toes, there's a nice starter for ten on the Apple developer site - Learning Objective-C: A Primer, which in conjunction with Apple's iOS Application Programming Guide should provide a good overview. (Incidentally, the Apple online class reference documentation is excellent and perhaps worth a browse in and of itself.)
No doubt other posters will be able to recommend good resources for the Android side of things.
I guess it depends on what your requirements are. Web apps can do a large portion of what native apps can do these days. If you really want a tool that "abstract[s] the environment out", you can have it: it's called HTML5.
There are also some tools like PhoneGap that generally provide some version of web apps or hybrid apps (basically, a web app running in a customized browser that provides some additional native-app functionality). There are also a number of proprietary solutions, most of which want your app to be hosted on their servers, charge a per-user fee, etc. This is probably not what you mean when you say you want to learn iPhone and Android programming, but they might be a good solution if you just want to produce a mobile tool for use within your enterprise.
If you really want to learn to build native iPhone and Android apps, I'd think you'd want to avoid third-party cross platform tools. Pick one platform and learn to use it. It'll be a lot of work, depending on how much object-oriented programming experience you have, but it's also a lot of fun. Once you've got a solid handle on one platform, take some time to learn the other. There are a lot of big differences between the two platforms, but there are also some similarities. Trying to learn both at the same time, I think, will probably take longer than learning one and then the other.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 12 years ago.
Improve this question
Developing mobile apps is a challenging job.
Customers want to be present not only on iPhone and iPad but maybe on Android and other mobile platforms like Windows Phone 7, Blackberry and Symbian, too.
It costs a lot of money to keep this apps up to date on different platforms. Besides the developer has to dig in different sdk's and learn different languages.
I thought about having just one app, that is rendered in a mobile browser like webkit, which is a standart for rendering web content.
Of course there are constraints like the use of camera or specific hardware for advanced rendering. But I think this will change over time.
How do you challange that? Do you re-use your code? Could mobile web be an alternative?
If I had to make the same app for multiple platforms (iPhone, Android, Blackberry, Windows Phone 7, etc.), I'd probably create a web app and utilize the new HTML5 features.
Alternatively, if you want to use the native languages (for added support with camera, etc.), it'd be quite hard to reuse the code. You could use the same logic, but you'd still have to rewrite a lot of the actual code.
Some other options could be Titanium or PhoneGap.
Using a web app bundler like PhoneGap would be my choice.
Mobile web can surely be an alternative.
I have been hearing a lot of things HTML5 is promising for mobile devices. If all of that becomes a reality, then we can really create web apps as powerful as native apps!
If your app is fairly simple and doesn't require the camera, fancy graphics or location based services then a HTML5 app is the way to go. Otherwise what I would do is develop it on the platform that you are most comfortable with and then outsource development to people who are specialised in the other platform(s). It's hard enough keeping up with one platform let alone five.
HTML5 is unfortunately not going to solve this problem for you because the companies have no vested interest in working together. We have tried middle layer products but you always come up against a roadblock that they cannot overcome or a device they do not support (e.g. our latest app is for BlackBerry PlayBook which uses Adobe AIR and a PlayBook SDK which is in constant flux).
My recommendation would be develop you apps using an early version of Java and implement this separately for each platform.
Good luck.