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 10 years ago.
Improve this question
i would like to buy a new cell phone that runs Android. From what I heard I assume it's quiet programable and customizable. What are your Experiences?
Are there any good books on the topic?
Android is a wonderful platform, both to use and to develop for (IMHO, obviously).
I've been developing Android applications for a while now on my 1st generation developer phone, and I've just ordered the HTC Hero. For the most part, it's a joy to work with. The open source approach works really well - I often find myself looking at the source of the applications that comes with the platform for solutions.
I had no previous experience with Java before I started developing for the Android platform, but quickly learned the language and the platform. Googling for Java solutions usually leads to some hints or a direct solution.
The documentation could be a little better - but it's usually acceptable. The "getting started"-parts are fairly well explained, and the samples will get you further. The android-developers group is usually helpful, and if not there's always IRC (#android and #android-dev on freenode) and community forums where you can get help.
For reading material, I strongly recommend Reto Meier's "Professional Android Application Development" - it's far better than most other books I've read about Android. If you're lucky, you will also get answers from the author here on Stack Overflow :-)
I would say that Android devices are the most programmer/developer friendly smartphones you can get at the moment. After all, it's part of Google's strategy to attract as many developers as possible, in order to get a fast growing software landscape.
Here are some key advantages of developing for Android:
even though it's not a Sun JVM running your programs, the programming language for applications is Java, which makes it easy to jump the Android bandwagon for many developers
the developer tools can be used both on the command line, or via an Eclipse plugin called the ADT (Android Developer Tools) on all major platforms. The plugin/emulator is solid and comfortable to use.
Even retail phones are very developer friendly. Though not rooted, you can simply hook them to your developer machine using USB, enable USB debugging and off you go. You can one-click deploy your apps from Eclipse to your phone. Excellent.
While this hasn't been true for quite some time, the online documentation now actually is pretty decent
As a developer, this is maybe my favorite one: You can easily download the Android source code and read it. It's very readable, and often very helpful to get more insight into how a typical app is built, and how the Google devs solve typical tasks.
Publishing to the Android market is as easy as registering a developer account and uploading your app with a description. There is no reviewing being done by Google up front (versus the one plus months ping pong you go through with Apple each time).
Having worked with Android since over a year now without any prior experience in mobile application development, I can wholeheartedly say it has grown into a solid, well designed and easy to use platform.
I maintain a roster of available Android application development books on a wiki page and a knol.
Full Disclosure: I wrote a few of those books.
Android is very easy to program for, especially if you have experience in Java. Overall in my experience programming for it, and attempting to port an application currently on the iPhone to the Android platform is that the iPhone interface is a bit more polished still. I think they have a few more iterations of polish to go through before it can truly stand on its own in the marketplace against the iPhone. Just my opinion, though
Related
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 7 years ago.
Improve this question
Hi friends i want to know about how to make apps for different OS.For eg: ANDROID,BLACKBERRY,iPhone,Windows Phone and Nokia phone.Which programming language is required for there different OS.Can any same programming language can be use for all this different OS.
To make apps (mobile apps, I think you mean) for different OS's(I think you mean the different OS's on each phone),(assumption: that you're coding it from scratch) you learn a programming language first, then proceed to learn how to make apps for a particular OS. Typically, you purchase a book (look online for good recommendations) and start from there. You can also find tons of online resource about coding basics, and mobile app development.
I am sure you can use most popular languages; Java, Python, C++/C#/C, etc...
Generally, people make either Android Apps, or iOS apps. They code in Java for Android (and it's derivatives), and Objective-C in iOS but Swift is quite new and I heard it has many cool features, and is the better choice to use for iOS in comparison to Objective-C.
Yes, you can use the same language across the platforms you listed in your question, but generally stick with the common languages most people use, as the difficulty increases when you choose more elegant languages, like Prolog or Haskell etc. :)
#SiddhantSingh you should go for java scripting(i.e.,phone gap)
Android and iOS are completely different. You are asking how to begin creating apps for all phones, iOS is specifically referring to apple products. For apple, go to their website and download the development kit, Xcode (It is in objective-c and/or their own language called Swift). For android, it is primarily in java, and some starter development kits are offered for android as well! To make it really simple these are usually used to develop- Xcode for iOS, you can get it from apple; and some of the most common for Android are gradle and app inventor, which you can get from gradle.com or MIT's website respectively.
If you have a good idea which is support to receive good reviews from all platform App users. I suggest you consider about Web App and Hybrid Framework Development. I hope you get a little knowledge about those two things.
The common point between Web App and Hybrid Framework is saving your time, which means a couple of mobile OS can run your App with one-time development. Multi-OS development and different Program languages are absolutely unnecessary for you. I think this new way of development can bring you the concentration on App's essential thing.
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 4 years ago.
Improve this question
I'm a web developer that is new to mobile app development and need to start a project asap. Despite researching for the last few weeks, (I have listed what I've done so far at the bottom of this post) I still have not decided between Phonegap or native (for iOS/Android only). Googling “Phonegap vs native” and the like seems to give results with a fairly even split, but there seems no doubt that native will give a faster / better end result, but at the expense of having to learn so many new things in a short timeframe.
One common thing cited about Phonegap is that is runs slowly – but I have also read that since V3 it now runs much faster – is this the case?
The app I need to build is really pretty much like a mobile static site (but the customer insists it must be an app) – just text and a few images and some PDFs. There will be new content added like news, so I was thinking rather than release a new app version for each new item, the app will fetch new data from a web API (JSON or XML) and finally a requirement for push notifications.
There will be no need to access the camera, GPS or any other hardware (bar the file system to cache images/PDFs).
I've looked at similar apps (the competition) and they all appear to make extensive use of web views, which might suggest they were made with Phonegap (or would it?).
So my question is, given the simple type of app I need to do, would there be a big benefit in going native for this, or would Phonegap (latest version) work just as well. Or on the other hand, since it is a simple app, would it be easy to do (i.e. from zero to both app stores in 10 weeks) in native?
I do have a mac with ADT/Xcode installed so that is not a factor in the choice.
My research so far.
Followed the Android getting started to here http://developer.android.com/training/basics/actionbar/styling.html but got lost with the tabs
Then got a book, SAMS teach yourself android in 24 hours, on about hour 6
Followed iOS to here https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/ThirdTutorial.html#//apple_ref/doc/uid/TP40011343-CH10-SW1
Several Phonegap tutorials such as http://coenraets.org/blog/phonegap-tutorial/ but all seemed to have issues getting them to work as is.
Clearly native has some benefits over the web frameworks like phonegap. But the thing is what you want & need? If you want a quick solution then phonegap is best for cross platform. You can do it in easy way for all common platforms. But if you want your app to be fast & efficient, of course native has it's benefits.
Given your requirements, phonegap could be better to serve your purpose. You can continue with same code, and exact same design for all platforms. Not only for ios and android, but also with windows phone, amazon fireos etc.
One of the thing is that there are thousands of app building in phonegap these days, so it can be told that it meets with the expectation to a certain extent. Phonegap is efficient enough to fill these apps' terms. With proper use of frameworks like sencha, jquery mobile, kendo UI and many more phonegap can be highly efficient.
I don't think it's possible for anyone to tell you that if the app could be completed in 10 weeks in native apps or not. I would go for phonegap to continue with same design and same code. It would be easy to make change in the app if needed in future. But decision have to be yours based on the issues and requirements :)
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 am looking for some cross platform game development frameworks. The game i am focusing on wouldn't require high-end platform dependent resources. Just a simple card game. I believe HTML5 platform would work fine but I am not sure which one.
Secondly, I want to implement multi-player functionality in the game. There are 2 things which i am not sure about
If i want to allow four friends to play one game, how should I do it? Does mobile platform has something like LAN or some other inter-connectivity options?
I want to give online multi-player options as well. Is there any server/framework which provides such functionality?
P.S:
This is my first ever project on any mobile app. Corona is good but it isn't free.
EDIT:
I am looking for some Free framework.
If it's a mobile app, try Corona SDK. You can use it to make games (or apps) for iOS, Android, and I think NOOK and Kindle Fire. It's also very easy to learn. I started using it when I was twelve, and I learned it in an hour. A simple card game could be done in less than a few hours.
As for multiplayer, you could use AutoLAN (http://developer.coronalabs.com/code/autolan or http://www.mydevelopersgames.com/AutoLAN/) for both local and online multiplayer, though I've never tried it. It used to be something like $20 but now it's free.
cocos2d-x is the best known cross platform game engine for 2D games.
Here is link: Cocos2d-x
Here is some good discussion on best cross platform game engine. click here
(1) You could in—in theory—build a networked game that communicated over SMS messages, or something wacky like that. But the general presumption these days is that people running apps and games on phones have Internet via 3G, 4G, WiFi/etc.
(It could be an interesting exercise to write a game that can be played over Bluetooth on two phones in a remote mountainous area where's no reception...but I'm not sure how big that market is.)
So the decisions come down to the usual ones for a networked app. Are you going to make it peer-to-peer so that the only software involved is one app per player on their phone? Or will you do have a server sitting out on the Internet that each client connects to, and the game is run without any player connecting directly to any other?
(The latter is easier for various reasons. One of the more interesting reasons why peer-to-peer card games are hard has to do with one client trusting another when there's no "game master". The Wikipedia article on Mental Poker may be illuminating.)
(2) Can't vouch for it myself, but people on the net appear to like mages on Android. iPhone, I dunno.
But if you're doing this as a learning exercise, you might try tinkering around from scratch just to get a better handle on the issues, rather than jumping in the specifics of any particular framework. Use JSON messages and talk to a simple server written in whatever server-side environment you feel most comfortable with (Node? Rails? Django? PHP?(no!) :P)
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 9 years ago.
Improve this question
I've registered for a mobile app course, and am considering dropping it because we are using the Google App Inventor to create apps.
I've taken a look at a few videos, and it seems all too basic, geared towards non-programmers. I've had some experience with the Android SDK and feel like learning the App Inventor is degrading, a just-for-fun way of making only simple apps. Is this the case? Are you more limited in App Inventor than programming in Eclipse w/Java? The graphical way of 'programming' makes it seem that way. Can anyone with experience comment on it?
thank you.
Although graphical programming never gives as much control as coding does, that doesn't necessarily make it a bad thing. It really depends on how much control you need, and what you need to do with it. If you're doing a simple local app with a nice UI, it'll probably be easier to use the App Inventor. Even in the SDK, you will work with graphical tools to design UI. Sure you can do straight XML, but its always nice to have a WYSIWYG to design these things.
Having said that, personally, I would try to learn the SDK just because it gives you a fuller range of tools. It'll also teach you more of the nitty gritty of developing Android apps. Plus, if you want to be a real Android app developer in the future, it'll give you more of a headstart and knowledge base.
With knowledge I have on appinventor I feel same. Another thing to note is google discarding app inventor starting January 2012. If you have some knowledge I would suggest using Android sdk and eclipse.
This is true. I would definitely suggest jumping right into the framework with the SDK instead of using App Inventor. It is very simplistic and template based with not much flexibility of implementation. Going straight to Android is better IMO, you get more flexibility over the look/feel as well the programmatic elements of your applications as well.
App Inventor was designed for people who do not know conventional programming languages. It sounds as though you do. If you want to learn App Inventor, you can easily do so on your own. It would be a waste of your time to take a class on it.
To answer the other part of your question, yes, what you can do in App Inventor is far more limited than what you can do with the full Android Java SDK.
Since App Inventor is about to be released open source, you can combine the two, should you wish to, by using the Java SDK to extend App Inventor.
The new MIT Center for Mobile Learning has information on running your own App Inventor server or using theirs. As other respondents have indicated, Google is about to pull the plug on their App Inventor service.
Graphical programming can be handy for some simple jobs like creating a few activities to roam around in; that would be perfectly acceptable. However all the trouble you would have to go through to dynamically create items or create a game would surpass the difficulties of learning your way around Java and the Android SDK. Which one you choose completely depends on the type of project you want to make. App Inventor could either hinder you or speed up your development drastically. Another thing to keep in mind is that Google is ending support on Google Labs and App Inventor, which could discourage some people.
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 11 years ago.
Improve this question
programming is my hobby and I am not ready to leave my other profession yet. I have developed few windows applications, mostly on VB, some small scripts in python, C++, and so...never touched java or objective C
Now, I have few game, app ideas and I am sure they don't exist in iphone and android yet, and even browser based. Now , I want to develop those games in 5-6 months of time and I want users to be able to play from any platform, browser based, android, iphone, etc. just say like Zyanga poker.
I can pretty much give the details of games and even come up with some algorithms and /or idea in most states. So, how much it will cost to develop such program? Should I learn and do programming myself? or should I use unity like program for cross-platform deployment? what about looking for some investors or giving share to programmers, if so, where can I find such possibilities?
Thanks..
how much it will cost to develop such program?
Cost? money or time? Estimating game project (or all software project) scope is much harder than you think especially when you don't have enough experiences on developing similar types of games. 5-6 months of time could be more than enough to make one simple game but it really depends on the game you want to make and your skill. You think you can give the details of games for implementation but you will soon realize you need much more details to finish the job. Because it's your first time to make a video game, my advice here is that "forget scope, start making the game and see how it goes". It might sound silly first but you will be able to estimate cost more accurately as you build the game.
Should I learn and do programming myself? or should I use unity like
program for cross-platform
deployment?
You probably should learn and program by yourself. Even if you decide to use a game engine like Unity, you still need to do programming with the engine. Also, a game engine can save you a great amount of coding but you should spend sometime learning the engine itself. Unity seems a solid choice and please go check its documents, forum and tutorials.
what about looking for some investors or giving share to programmers, if so,
where can I find such possibilities?
This is more like a business question. You can ask this question here : http://answers.onstartups.com/
Before you search for investors or publishers, you better have a playable game demo. Game design documents do NOT work for getting a publisher unless you have successful commercial games you made before. Good Luck! :)
Whether it be IOS, Android, or WP7, they all want to lock you to work with the tools they support directly. IOS has arguably been the most strict, but that seems to change with the direction of the wind. There are some cross-platform development tools, but most of them are fairly expensive. IMO if you want it to be truly cross-platform, and isn't very graphics intensive, your best bet is probably HTML5 and Javascript. There are new Javascript libraries coming out every day it seems to help with gamedev, and while the support in different current generation browsers can be hit or miss, IE9, Chrome FF4, and most of the new mobile browsers have enough support for Canvas and other extensions to make it a credible platform.
YMMV