Agreed. Obj-C is mind bogglingly obtuse. Its like they said "hmm, lets take a programming language that follows most of the normal conventions, but with totally different syntax. Trust us!! This way is better."
Its so bad that I'm still debating porting my apps to iOS using PhoneGap and HTML5 as opposed to Obj-C....and I consider HTML5 to be pretty terrible too.
I didn't think ActionScript could be that irritating to use, but it might just be me.
No, sir. It's not fart apps, but as I said, aside from the delegate, I'd think you should only need ONE more class to make most apps, and most often, it's a view controller.
No, sir. It's not fart apps, but as I said, aside from the delegate, I'd think you should only need ONE more class to make most apps, and most often, it's a view controller.
And I don't rely on Interface Builder. I avoid it completely unless the job specifically requires it. That probably explains why I haven't had problems with performance.
I can't imagine many non trivial apps that should only have a single class.
not sure if serious...
I didn't think ActionScript could be that irritating to use, but it might just be me.
On the contrary, a single class is actually enough to handle many things... from my experience.
The trick is to see that not all assets need to be retained in memory all the time, and that unused assets could be reused for something else entirely.
Need a demo? I'll even make it an OpenGL demo (bumps it up to 6 files including the delegate but excluding the main file) if you're interested.
On the contrary, a single class is actually enough to handle many things... from my experience.
The trick is to see that not all assets need to be retained in memory all the time, and that unused assets could be reused for something else entirely.
Need a demo? I'll even make it an OpenGL demo (bumps it up to 6 files and 2 classes including the delegate but excluding the main file) if you're interested.
An example of something that drove me nuts: http://deekodev.wordpress.com/2011/03/21/setting-image-sizes-in-actionscript/
Getting login information and retrieving information from a sever is something I would consider a trivial application.
Combining unrelated functionality into a single class is not proper object oriented design and will make a large application an nightmare to maintain and understand.
I don't think we're saying it's not possible (so no demo needed), just that it's impractical for more advanced applications.
What you're describing is fairly basic stuff.
For larger projects, I can't even imagine not having at least one singleton/helper class. Well, I suppose I can imagine it - if I looked at code I wrote when I was first starting out, which was pretty ugly...
Anyway, this is a major thread tangent. Eric Schmidt would not approve.
Yeah, but I didn't say it would be for more complicated apps. I said it would be for most apps.
The thing is that when you consider it, most iOS apps and mobile apps in general are trivial. You ask the user to log in once, present something to them, sometimes with a button or two for a choice, and you're done. It doesn't really get a lot more complicated for the interface.
Looks to me like the reason why you can't do that is because the loading of the image would override the image's size upon load, and it defaults to the original size of the image.
A better way, IMO, would be to use a Sprite class to encapsulate the image to be loaded, and then you can apply scaling to the Sprite class without having to worry about whether the image would break scaling when it's finished loading.
Discussing dev tools in terms of simple applications really isn't that meaningful since as long as the platform isn't completely worthless they should be simple to write. A truly good SDK and platform makes developing complex apps easier and that's where I feel iOS needs more work.
If you are just making basic apps like you are discussing I agree iOS is easy like you claim but as soon as you try and go beyond that the difficulty increases substantially.
Either way, the point is that its completely unintuitive. If I define an image and set a size for it, that size should stick. It shouldn't arbitrarily reset. However, as others have said, we're getting a bit off topic here, I digress....
I think the difficulty would increase just as substantially for any platform given that the scale of the project is large enough. It's not a unique iOS thing.
But that's not the point I'm trying to make. I mean to say that it's exactly because it's easy to make the simple things, that iOS is flooded with apps that are simple in design and work well. In contrast, the easy things are more complicated to set up and do on the Android side..
Still this should explain our different opinions on iOS development and Xcode performance, we are simply discussing different scales of projects.
Obviously more complicated projects will always be more difficult to implement but IMO iOS (and Xcode) makes them more difficult than it needs to be.
Also to expand on my earlier point about knowing developers who prefer android over iOS those developers generally work on large enterprise oriented applications not simple applications that just display some data.
Then in which case, I don't think you are talking about developers who work on App Store submissions as their primary work. I think you are talking about a different scale altogether.
It might make sense in that context, and perhaps Eric Schmidt might have been right in that context even, but I think it's hard to quantify because there is no way to count how many enterprise applications are being developed for both iOS and Android. And also I believe Schmidt meant to predict the situation with regard to the App Store/Play Store rather than about corporate users.
I'm quite certain that the last time I checked, Apple classes Corporate developers and App Store developers in two different categories.
There are plenty of apps on both stores that have similar levels of complexity and some of the same functionality as these enterprise apps. The exact use of the applications aside my point was the iOS is not terribly friendly towards building pc scale apps.