Hello. I'm just beginning to learn programming with an explicit goal in mind: I'm applying what I learn to developing a cell phone app that's more on the artistic side. I'm not trying to make a photoshop/painter-esque program, but it involves a lot of common elements:
1. It's going to involve heavy use of graphics from a content library
2. It will have to support layers for different content classes to be ordered on.
3. It will have to support color changes; selecting one representative color to change multiple indexed colors in the graphic loaded. I'll predefine them for ease at this stage.
4. It's also going to need to be able to save the composite image from the arrangement of the different layers into a separate file.
There’s more to it, but I want to figure out how to do those first. Which compiler/IDE do you think would be best for this purpose? As a layman, I would think the extra tools from an IDE would be more helpful in app development, but I lack perspective at present. I've looked up recommendations on the forum, but I imagine my intention would influence which one would be best for me. The first page in the tutorial references a Compiler section, but it doesn't seem to exist anymore.
While I intend to make a version for both iPhones and Android phones, I've heard I have to use Objective-C to make the interface for Apple products. I got that from the following quote:
"Its c++ running openGL.
It has an interface of Objective-C so that it could integrate with the iOS stuff.
It uses several other libraries: the gif saving/loading is CxImage, theres a little bit of PHP source code, and tinyXML."
That seems to imply I don't need to work through Apple's iOS Developer kit to make the app itself. Is there any advantage to programming it all in Objective-C (Which I assume is all the iOS SDK takes)? I read here that Android phones run on Java, so I guess developers on multiple platforms like Rovio (Angry Birds) had to make the same game twice from scratch in two different languages. Possibly three times if that Ovni phone has its own language. On the other hand, if some code can transfer between brands, I’d have far less work to do by making most of it in a generic form of a language, then tacking on the brand-specific code later. That seems intuitively better, but I don’t know which method is best. I need some clear direction and to get started before I can appreciate the content of threads on things like Objective-C++ and consider my other options.
I'm using Windows, so I know that I'll have to use something like DragonFireSDK to work on Apple products. Alternatively, I could focus on learning Java and develop for Android if it would be easier for me. I have access to Macs at my university, so if I finish the program in Java for Android phones, could I make a C-language version without too much trouble at a later date? I do have access to Flash CS5 if the app-publishing settings are powerful enough to make a version that would be compatible with either platform.
IOS uses objective-c as it's primary language, and is definitely needed for some(if not most) features available on the device.
You can however use low level c and c++. As the quote stated it does need a wrapper in obj-c.
Personally I'd stick with java. If you're already on a windows machine, and don't have permanent access to a mac.
I've done programming on both platforms, and I much prefer iPhone programming over Andriod, however it's all a matter of individual taste.
What niche needs filling that you are going to address. I've seen several applications of this sort available on the market/appstore... Why that explicit goal? Are you allowed to deviate? Are you interested in any other programming, or just artsy stuff? How long have you been programming? What have you learned? How long do you think your project will take? Do you expect results right away? Why c++?
The program is filling an unmet need. I'm already running a test market in a different business model and it's successful enough to be worth my time. There isn't anything presently on the market to compare it to. I'm not presently interested in general programming, I'm simply trying to bring this specific idea to fruition.
I may end up having to make a pitch to a company at some stage, and even if I can't do it all, I'll be hurting myself if I'm not capable of creating at least a skeleton of the program. I need more to offer beyond the idea, marketing plan, and art resources. So I'm trying to learn. I have no experience programming right now. I don't think the program itself will be terribly complicated, since the functions I need it to do don't seem that complicated in of themselves.
I need to get my bearings first and figure out how to tackle the problem. I have no idea how long it will take me to work up to the skill level necessary to do everything I need, but I think I can realistically expect it done or with a lot of progress made by January. I think I'll take up Java and try to make an Android version first. I'd prefer to go with iPhones, but it seems impractical right now with the Mac-only limitations. I can always make a completed Java version and then pitch it to a company that develops for iOS to cover both platforms.
How useful are the Flash CS5 tools for making iPhone programs? I've heard that it's pretty easy to learn action script if you're versed in Java. I simply don't know if I can duplicate a Java program in Flash and then have it published correctly as an iPhone version.