I'm thinking about making a mobile game (say something like Wordfeud).
Now I would like to publish this game on Android, iOS, WindowsPhone, facebook and normal browser.
I could go native on all these platforms.
BUT
Since a want it to be a multiplayer game, most of the functionality will be done via a c#.NET webservice with SOAP calls or something.
Now for another project i'm make a mobile website working in WebView (android) and the same website already works in an IOS app.
So.. why not make a jQuery/HTML5/.NET mobile website and some small apps just as a shell to get them in the marketplaces. That way everything will be in one place and updates/bugfixes will be a walk in the park.
What do you think?
Cheers
If you check the Apple Review Guidelines, you could see :
Apps that are not very useful, unique, are simply web sites bundled as Apps, or do not provide any lasting entertainment value may be rejected
You will be able to launch your android one, but you may have your iOS web bundle rejected.
I suggest to have a look to this page before posting to the app store
I think there are a lot of problems with this. If you look at tools that try too help you do this kind of thing, the most powerful ones being Google PlayN and Monkey. There are still a lot of semantic differences between a HTML/Flash/SilverLight game and a Mobile one, The most obvious being differences in input devices and screen resolution sizes.
It's also important to realize that the cost of integrating the different platforms (ie facebook vs. non-facbook, depending on what type of game you're making) may be significant.
Google PlayN: http://code.google.com/p/playn/
Monkey: http://www.monkeycoder.co.nz/
I think that there are 3 things I always see in html5 apps :
-very bad integration to the different platforms
-bad performances, web based is way slower than native.
-nightmare to maintain.
I strongly encourage you to go the native way if you want to do a quality app.
HTML5 is not all wrong. I think it is the right choice if there are big time/budget constraints and/or you don't care about the quality of the app (for exemple if it will be only used internally).
Final thought : why SOAP ?? REST is faster and is not harder to implement.
Related
I wanted to get a more experienced opinion on something I recently found out. A couple of months ago I set a goal to build myself a mobile app, and the first thing I did was go to developer.android.com and begin reading documentation on how to go about doing this.
I've invested a lot of time in understanding Android Studio and how to make simple apps (and I'm just now getting the hang of it all), but I just recently read about frameworks like PhoneGap(which let web devs who know HTML,CSS, and Javascript make apps too).
Before learning Android, I taught myself web dev through the Odin Project, which taught me a fair amount of HTML, CSS, and Javascript (little iffy on this language, but I'm sure it's something I could pick up easily since I already have a bit of experience).
I'm wondering what you guys feel are the limitations of using these frameworks and whether I should switch over to them, as opposed to continuing with Android since things are beginning to click for me.
Thanks!
I have developed apps for both Android and Phonegap. Phonegap takes advantage of your web development experience and lets you build mobile apps with ease. But it's not a replacement for Android API itself. A good phonegap application requires knowledge about web development and Android API.
However if your aim is to develop an android application, and you are comfortable with web development and Android, I would advice to take Android API.
Phonegap as wonderful as it is for web developers, and startups who can't afford to have dedicated resources for Android, iOS separately, has its limitations.
Performance : Phonegap app's performance is not at par with a native
android application.
Functionality : As one would expect you can't have all the functionality support a native android application has.
Look : You could easily tell apart a phonegap application from a native one. Given phonegap renders all the content in a webview, the look of native ui elements is lost
I think you will always need access to the native API to make good apps.
At least the navigation should be native, so that your app has the look and feel that the user expects, and so that stuff like the back button get correctly handled for you.
Even if there is some plugin that does that for you in a perfect way, I believe it's beneficial to know how Android works.
In the end, frameworks like PhoneGap add a layer inside your app rather than removing one, and it's always better to understand what goes on inside your app.
So the time that you've spent learning native Android won't be lost.
However, it makes sense to use HTML/JS if you want to share code between different platforms.
I think this article from Basecamp shows a very compelling example: https://signalvnoise.com/posts/3743-hybrid-sweet-spot-native-navigation-web-content.
I need some directions and advice. :)
I have a project for a mobile app in mind (look below), but am confused about all the different programming languages, frameworks and so. Confused about what to focus on.
Also, I'm not sure if I should focus on a solution specifically for this project or just try to get good at developing mobile apps in general?
I have learned the basics of JavaScript and Swift. Have never tried working with a framework.
The app has to be able to do the following:
Store user data (strings and numbers)
Show various graphs and stats based on the user data
Look like a native iOS/Android app (e.g. like iTunes and App Store with the menu at the bottom)
Send push messages to the user
Ideally work for both iOS and Android
I’m of course looking for as easy and fast a solution as possible, but more important is that the solution looks and works like a quality app.
So, which solutions would be best for the project above? And what about developing apps in general? (or does it vary from app to app?)
This is a very basic question, and I would suggest getting familiar with iOS/ Android development in general before making your own app.
There are tons of great tutorials out there on how to do both, I would suggest getting started with either one based on what equipment you have available and what you're familiar with.
If you want to make an app that runs on both platforms you could make it in HTML5, but I'd suggest making a native iOS app in either Obj-C or Swift, and a native Android app in Java.
I am quite confused with the info I read online.
Some say for IOS apps,
Apple restricts developers to writing iPhone applications in
Objective-C, C, C++ or JavaScript as executed by the iPhone OS WebKit
engine.
Apps must be originally written in one of these languages and may only
use Documented APIs in a manner prescribed by Apple. Only code written
in Objective C, C, or C++ may compile and directly link against the
Documented APIs.
while Android apps use Java.
Then I also came across jquery mobile for cross platforms. So I am not sure which route I should take for developing an app. I prefer jquery mobile of course as I think it is not ideal to use two different languages to develop an app. And it takes time to learn Java and Objective-C.
So I want to know - can I just use jquery mobile to develop an app for IOS or Android?
Below is tutorial on developing an app by using jquery mobile,
http://www.noupe.com/tutorial/jquery-mobile-tutorial-creating-a-restaurant-picker-web-app.html
Take a look at my other answers related to this theme:
Hybrid apps vs Native apps: Hybrid vs native apps/
Mobile App vs Web App - Apple no longer accepting web apps?: https://stackoverflow.com/a/14436328/1848600
Tutorials: https://stackoverflow.com/a/14375842/1848600
To make a story short. Hybrid apps are still more then acceptable in Apple app store, you just need to accept some guidelines like:
App must have native look and feel
Do not use 3rd party payment systems
Do not use server side technology to render page content, use ajax instead
There are a range of variables that you should consider before deciding which way to go, as the more you understand your business strategy and IT drivers, the better you will be able to decide which way to go.
Like
Performance
Usability
Maintainability
Budget
Time to Market
Resources
Even though the big corporates like LinkedIn and Facebook are ditching Hybrid, they actually are not [Another debate not related to this question]. Moreover, a lot of small and mid size companies go their own short and long term plans, spanning Hybrid and Native.
Like people will say that if you have small budget then go for Hybrid as you will be able to launch in multiple platforms, but on the other hand you have to think about the long term cost and many other parameters above.
The best Article that lays out, is following, really thought provoking
https://pixyflux.wordpress.com/2015/09/03/how-much-native-binary-vs-spectrum/
I work at a large company that is looking at building apps for internal use only (iPhone/iPad). We are looking for a SIMPLE way of creating apps that essentially are just a web browser with a predefined URL and no address bar/tabs, etc. Essentially a very dumbed down browser with a custom logo. What is the easiest way to accomplish this?
We would obviously be distributing these oursevlves and they wouldn't be available in the App Store, so app guidelines aren't an issue. We are on Windows boxes and are Java/Web developers so we'd rather not get into too much C sharp if at all possible, fyi. Basically it'd be nice if the tool (if one exists), were to allow us to give it a URL, an icon image, and it builds the app from there.
And while we are starting out with Apple devices, we need to be cross platform compliant with whatever tools we use because I can imagine the day when they decide to buy Android or WindowsPhone devices later on.
MobiOne? PhoneGap? Appcelerator Titanium SDK? Can either of these do what we need? Something else?
A big 'No' for MobiOne. I bought it for 99 dollars. As they advertised, I was able to create a static app within hours. But that's pretty much what MobiOne can do. The moment you start using html, javascript or even audio, all sorts of problem seem to creep up. And there is no support in their forums either. My basic question about using the audio player remains unanswered for a month now.
Here is the worst part:
The tool has a poorly built emulator. Often times, my app worked fine in the emulator but failed to run when deployed to a real device. And at times, i have seen the vice versa too.
Since then, I switched over to PhoneGap(which is free). It took me 2 days to just set my environment right. But once I had the environment setup, it took only minutes to deploy my app in to a virtual device.
Looking at your requirement, I would say that your safe bet is PhoneGap.
I don't have a working knowledge in Titanium but I read in a lot of forums that it supports less platforms when compared to PhoneGap. Titanium seems to give a more native feel to the app but that also means you cannot port it to multiple platforms without changing the code.
Apple may reject your app if all it does is wrap a web site in a WebView. You need to have more functionality in your app than just loading a web page.
From the app review guidelines for iOS:
2.12 Apps that are not very useful, are simply web sites bundled as apps, or do not provide any lasting entertainment value may be rejected
You would need to add additional screens to the app like an about page and a contact us page in order for your app not to be rejected.
As you say you know JavaScript, look into appcelerator.com it allows you to build cross platform apps and only writing your code once.
I would re-evaluate your reason for wanting to create these projects as an app in the first place. What app functionality do you want that you don't have now with your web page? You didn't mention anything in your question that would indicate this needs to be an app.
On Apple devices, you could create an icon that points to a web site. You could define the pages in a way that hides the address bar. Lastly, the web pages could easily be cross-platform already.
Wrapping this into an app would just possibly complicate the process. You may need to deploy updated app code to the device, where a refresh in a browser works just as well.
I am going to develop a cross-platform app that will need some screen scraping capabilities. The app itself looks like an obvious candidate for Phonegap since the UI is quite static and simple (no fast UI interaction needed) - it is basically a kind of foreign currency comparator which needs to show some updated exchange rates and a few simple graphs.
The problem is however that it needs to connect to certain sites and grab the data from there using screen scraping. There is no API. I have many years experience with screen scraping in PHP, and some experience in native Android using jsoup. And the "app" already runs in PHP (on server) for use in browsers, but the client needs a real app.
What are my choices for screen scraping in Phonegap? I reckon that the javascript support available is not suited for screen scraping, but is it possible without too much fuss to build a native layer beneath the Phonegap app?
I have virtually no experience with Phonegap, so I might have missed some obvious solutions. If so, please advice me.
As a side question, does an equivalent of jsoup exist for IOS (objective C)?
Bobik is the very API you are looking for. It lets you tap into its cloud computing power through the API in which you only provide the urls and xpath/jquery queries. Read my article at http://zscraper.wordpress.com/2012/06/02/client-side-web-scraping/ to see Bobik in action.