mobile development
- Started
- Last post
- 18 Responses
- ********
Let's say you were just getting into mobile app development and had free time to learn some new technologies.
What would be the best to learn in order to develop apps for a wide audience? iOS and Objective-C? Android? Or some cross-platform development tool such as Flash or Appcelerator?
- ********0
Word on the street is Phone OS are about to be scaled down to (2)
I have no other information for you.
- sublocked0
I'm starting to get into the design phase of my mobile effort for Cashboard.
I'm going to go HTML5 + JS and perhaps Appcelerator. Seems to be the most portable and biggest win in terms of effort and time.
- sublocked0
Sencha Touch also looks really nice
- ********0
Ya I was just looking at Appcelerator. Seems almost like they are promising the world - complete integration with virtually any language etc. Can you really build a serious app this way or are you going to hit a wall at some point in terms of capabilities?
- ********0
Appcelerator does seem a great platform for transferring existing web app to mobile
- sublocked0
I've got no actual dev experience with it so far, but got a recommendation to use it from a friend who works for Pandora doing their mobile app dev. Not sure if they use it there, but if he says it's good I trust him.
- Boz0
yeah.. I would suggest Appcelerator first.. it will be easier for you to get into.. it publishes to Android and iOS and also Blackberry (or soon)..
Objective-C is definitely valuable thing because you can do pretty much anything on iOS platform but the thing is that it will take you longer and maybe you won't even need such a complex app to begin with.. Appcelerator can take or maybe 80% of your needs.
Definitely look at that first.. second thing to look at is Java.. I say Java because it's easier to learn than Objective C and there is no doubt that mobile OS of the future is Android. There is A LOT of opportunity on Android for great apps and people just need to leverage that..
Devs are lazy so they go after iOS first because Apple gave them everything on a spoon but Android market will be massive.. I'm just telling you this from business perspective.
I also think you should learn Obj-c just because it doesn't hurt (but that's a longer process and if you never developed stuff with it or never used xCode and Interface Builder, you will take a while).
Once you know get into JS and a bit of Java, AS3 shouldn't be a problem AT ALL.. AIR will be a huge force in mobile app development, especially on TVs and Blackberry as well.. so getting into AIR will give you a good platform to have fun on all mobile platforms including TVs and other ones.
I am working with all technologies listed and I can tell you that Appcelerator is the best choice for someone who is starting.. then it would probably be AS3 because it's just so easy to learn and just fun to code. Java will come naturally after that and Obj-C you will have to wrestle in the end.. but all in all this stuff is kind of chaining together once you start getting shit together.
- sometimes your thoughts are better presented as opinions and not factsfadein11
- ********0
Boz...thanks. I'm not coming at this from an entirely noob perspective, as I've worked in AS3 quite a bit, dabbled in Java, and more recently taught myself Python.
What are your thoughts on other cross-platform tools out there? I have to admit I'm more interested in trying out some more interactive, graphical stuff rather than app-type stuff. I may try Appcelerator first but I guess Air, Unity3D, and your native Obj-C and Java would be your preferred options for something more like game development, right? Or can Appcelerator do that too?
- I guess I'm wondering what the constraints, if any, are around these different approaches in terms of capabilities********
- I guess I'm wondering what the constraints, if any, are around these different approaches in terms of capabilities
- sublocked0
My same friend who works for Pandora mentioned a toolkit called "Corona" for game dev.
- Boz0
well with Appcelerator you have some issues accessing certain APIs.. i mean some will work but some won't.. also.. only with Obj-C and Apple's SDK you will be able to use all native controls.. Appcelerator stuff is actually made.. it looks like native control but it's made.. I mean nothing wrong with it, it works but it's not native native..
Appcelerator is not such a visual tool.. you are right.. they just bought Aptana editor which is basically Eclipse..
The good thing about this is that your Android/Java development with Eclipse with ADT plugin or Aptana/Appcelerator or Flash Builder/Flex Hero you are basically working with Eclipse and that's good cause jumping from one dev tool to another is going to be super easy.
The only real rich visual tool would be Flash CS 5.5 with combination of Flesh Builder 4.5 as code editor or XCode with Interface Builder.
I have to say that Xcode and Interface Builder are truly fantastic to build stuff in.. it's so beautiful once you get a hang of it... and it's MVC architecture in every sense of the word. The downside is awful and scary objective-c which is very very difficult to get into if you never coded anything on OSX and never worked with C or C++.
If you want to go down that road let me know and i"ll post a few useful links for you and what books to get to get you started.
Here's the problem with AIR/Flash.. while it will be truly great, it's still not fully ready.. why? Because you have to write everything yourself.. while it's great to build some simple games and some totally creative applications, if you want to build native looking apps and controls for Android or iOS or Blackberry you have to do it manually.. from that side it's not ideal at all..If you need a fully custom UI now that's where those flaws are not so much a problem.
Now.. Flex Hero (4.5) should bring some templates and skins and stuff you can play with but native looking UI elements are definitely something that doesn't exist in AIR.. that's a big lack for now.
I'm actually building in free time the same thing as Appcelerator does.. I'm building controls and UI elements as components for Flash CS5.5 so people can just drag and drop all kinds of native controls for iOS.. once I do that I'll make the Android ones and then Blackberry.. but this will take time as with AIR I do have to make sure everything where applicable i have to use OpenGL acceleration for UI so it doesn't get bogged down.
The good thing with AIR is that in the 2.6 we will see a lot of native APIs for devices implemented (web view, camera, sqllite, microphone access, accelerometer, GPS, contacts and stuff like that)..
The problem with Objective-C is that you are really nailing yourself to iOS as it is exclusive to that platform. That's really never a good thing from business perspective. So for now, the most mature tool would be Appcelerator for you to play with.
Corona for example, was riding the train of allowing experienced Actionscript coders to switch to Corona and code in LUA for iPhone and iPad and Android.. Corona is solid but to be honest with you LUA is not that important and you'd be better of working with something that's wide spread like Javascript if you are going to use a framework like that and not LUA.
Unity 3D is not really good for apps.. it's ok for games and only games.. I've been constantly impressed with Unity.. their editor is just awesome and you can write whatever you want and make it do whatever.. it's really creative and visually appealing to develop in but I never saw people make applications in it. Always games.
Appcelerator cannot do games.. its' purely app framework (I mean it can but is dog slow). Consider it a website that acts fully as a native app and you compile it into .ipa file.
You have to make a decision.. if you are going to make apps you should start with the widest and most mature tool out there for making cross-platform mobile apps.. that's Appcelerator hands down at the moment. Corona is ok for games, so keep that in mind, I've seen some games done with it.. not bad. Not mind blowing but not bad.
Adobe AIR will come.. it's growing, it's a mammoth, it will have massive following and it will work everywhere but there's still stuff to be done..so you can wait on that..you could read up on it and see how stuff is progressing so you are in the loop.. The best part in what Adobe is doing is their Open Screen Project and the fact that Blackberry will be using AS3 to write apps with their SDK, the AIR will work on TVs, on Google TV, on iOS, on Android .. there's some good stuff going on ..but it's still raw.
If you primary concern is to be marketable you will learn Obj-C.. iOS is the hottest thing for many businesses and you could make money there by finding a job or doing projects with it.. if you are going for making apps and games to make money and as your startup, I would say Java is not bad start because Android market is ACHING for good stuff.. so there's a lot more exposure and profit potential especially now when Honeycomb comes out and those gajillion tablets come out. That market will quickly get saturated.
I know it's a tough decision..but it really boils down to whether or not you want to do it with complete freedom and control on every platfom or you want to make multiplatform apps and are willing to make some compromises.. if not, then Objective-C, Java is the way to go.. spiced with HTML5 you will go fully native on both platforms.
- OK, great....confirms what I was thinking with Appcelerator as well as Flash stuff********
- OK, great....confirms what I was thinking with Appcelerator as well as Flash stuff
- Ancillary0
Hey I'm from an AS3 background and have made the move to making apps natively in Objective C, learning the language can be a lot of fun if you're interested and put the time in. My advice would be to set yourself a project and then just try and complete it. most of the dev dudes I work with use Unity, because it's more game design oriented. I've recently done some performance tests exporting from Flash to iPad, and I was pleasantly surprised, it managed 130 particles moving around the sceen at the same time. so I don't think Flash will be out of the question especially if they continue support in the future for iOS. But I'd definitely go Objective C and iOS if I was you
- ********0
Boz (and everyone) thanks. That is almost an article's worth of material you provided there and I'm sure will be valuable for others as well.
I'm actually not too "worried" about getting trapped into a particular platform as it makes sense the technology is evolving and I like to think I'm a fast learner with these things. Just wanted to get a good sense of the available options, which you definitely provided.
- ********0
Any suggestions on the best forums/sites for follow-up research?
- animatedgif0
If you want to make money, Objective-C
- Ancillary0
Just start doing it. The industry we're in you've Got to learn new skills, in two years it will be time to learn something else. We need to Be agile.
- ********0
you're Right:D
- _niko0
anybody recommend a good option to native development?
Anyone using ionic or titanium or phonegap or something else?
