Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
I feel like if you know one you can pick up on the other. I find it rather easy to look at ObjC code and I can figure out pretty quickly what is going on. I wonder if that is just experience or if that is the fact that I read the SWIFT book from BNR.
Learning all the different frameworks a platform offers is in my opinion more difficult than learning the language because there's just so much more to know. Swift and Objective-C both use the same frameworks, mostly, so it should be pretty easy to read both if you know one it's the same reason it only took me 1-2 days to learn Swift.
 
  • Like
Reactions: AdonisSMU
I feel like if you know one you can pick up on the other. I find it rather easy to look at ObjC code and I can figure out pretty quickly what is going on. I wonder if that is just experience or if that is the fact that I read the SWIFT book from BNR.
Some author talked about Swift a while back and said it was some 20% of a program. Meaning the actual part of the job that is actually Swift syntax.

If you've programmed for a while, you've probably written wrappers or sub-routines to do things then leave them alone and just call them.

I'm working now on a data interface where you don't see the backend, it could be SQLite, Core Data, RSS, Web services, etc... you just ask for it and get it back.

Much like the objects we use now, buttons used to be hand coded, now they are "drag-n-drop" (have been for a good while).

That's not to say an advanced program won't have "nuts-n-bolts" code, but many people just skim the surface for most of their work.

In a way, it's like asm or C, used to be everything was written in them, then we had higher levels.

Knowing the API calls really helps and that's a big part of many apps.
 
I agree that knowing C is super helpful. Learning about data structures, algorithmic analysis, etc can be very useful.

I was a biology major, I've never stepped foot in a computer science classroom. But my boyfriend is a CS major and I've read most of his CS textbooks.

It come in handy so much! For example I recently build an app that tracked where you went using GPS and erased "fog" on the map as you went. It sounds simple but Jesus was it difficult using Apple's maps framework. It definitely wasn't meant to do something like this but I got it working now fine.

The hardest part was calculating how much "fog" you've erased. Some peoples database of GPS coordinates could hit over 100,000 entries. That's not too bad but if the code wasn't really efficient it would cause the app to slow to a crawl. So I decided to use a quad-tree to organize the spatial GPS data. That way, when you enter an area of the map you've already been to, it can look up the GPS coordinates in that location, and uses a Monte Carlo algorithm to calculate how much of the fog you've erased is actually "new" and how much of it was already counted. I did all of this in C and it runs incredibly fast.

That's the hardest part of teaching this stuff to yourself: understanding data structures and algorithms. You can't do much more complicated than a chat app if you don't know this stuff or won't learn it.
 
  • Like
Reactions: AdonisSMU
I agree that knowing C is super helpful. Learning about data structures, algorithmic analysis, etc can be very useful.

I was a biology major, I've never stepped foot in a computer science classroom. But my boyfriend is a CS major and I've read most of his CS textbooks.

It come in handy so much! For example I recently build an app that tracked where you went using GPS and erased "fog" on the map as you went. It sounds simple but Jesus was it difficult using Apple's maps framework. It definitely wasn't meant to do something like this but I got it working now fine.

The hardest part was calculating how much "fog" you've erased. Some peoples database of GPS coordinates could hit over 100,000 entries. That's not too bad but if the code wasn't really efficient it would cause the app to slow to a crawl. So I decided to use a quad-tree to organize the spatial GPS data. That way, when you enter an area of the map you've already been to, it can look up the GPS coordinates in that location, and uses a Monte Carlo algorithm to calculate how much of the fog you've erased is actually "new" and how much of it was already counted. I did all of this in C and it runs incredibly fast.

That's the hardest part of teaching this stuff to yourself: understanding data structures and algorithms. You can't do much more complicated than a chat app if you don't know this stuff or won't learn it.

They don't teach C in school anymore... Schools force Java on students...
 
I do like the hybrid approach, but I'm not fond of Cordova and Phonegap. I developed my own framework and is really optimised.
My customers can load their own HTML on my apps (or I can design the HTML for them) so the hybrid approach was a must for me. But even if I had to write an utility app I'd probably go for the hybrid approach, since it would be easier to port it to Android. I'd go native for an iOS only project maybe, but I'm not so sure about that.
With HTML5 and CSS3 you can make amazing UI, really cool animations and you can customise 100% of the app for a specific customer.
The native part is responsible for the heavy tasks (like performing a search) and the only bottleneck is passing large JSON to a page.
I do use native components when I need to scroll tons of elements really fast, since a UITableView or a UIScrollView is really fast compared to the same effect rendered in HTML, but that's the end of it.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.