Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

msaljaber

macrumors newbie
Original poster
Feb 4, 2013
13
0
Hello, world!

I'm glad of thinking of being an iPhone developer, but I have some fire-queries, hope you turn it off;

I know how to code in JavaSciprt, HTML5, CSS3, so:

1- Can I make an iPhone app using that languages?

2- If yes: can I use Python with MySQL as server-side languages?

3- How much time it needs to learn Objective-C and iOS SDK from zero to professional?

4- Is there a difference in quality between making apps using Objective-C and other languages?

5- How did Evernote make their app's UI? I've noticed a very different UI form the old version!

As you can see here: http://d.pr/i/I67O
Actually, I've noticed a huge difference in UIs last year! What happend? Is it HTML5 techs? or new GUI in Xcode?

Thanks in advance!
 
Last edited by a moderator:

robbieduncan

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
1. Not really. You can use a UIWebView to host an app written in these languages but it will always feel like what it is: a hosted web app. People have tried this approach in the past and it always feels somewhat non-native

2. Your server side is irrelevant: you can use anything you like regardless of front-end technology

3. How long is a piece of string? Anything from a month or two up.

4. If you want to write a native app that feels native you have to use Objective-C.

5. I believe it is lots of custom views written using native code.
 

firewood

macrumors G3
Jul 29, 2003
8,107
1,345
Silicon Valley
You can wrap some Javascript for a UIWebview in a few pages or less of Objective C wrapper code and make an app for the App store. There are many apps in the App store constructed like this. However, Apple has been rejecting more and more of these types of apps lately, unless the app does something more than a web site can.

Professional C programmers have been reported to come up to speed in Objective C around in somewhere on the order of 2 months. Javascript programmers may require more time to learn some lower level coding concepts (threads, typing rules, memory constraints, etc.). The entire set of Cocoa Touch and iOS frameworks can take years to fully comprehend.

Facebook switched from using HTML5 to coding in Objective C for app performance and user experience quality. Their experience is not unique.
 

TouchMint.com

macrumors 68000
May 25, 2012
1,625
318
Phoenix
Took me about 3-4 months and 2 reads through an objective c book by stephen kochan. I was no means a pro but able to put my first app out.

I did have some exp in vb and java tho.
 

Kashsystems

macrumors 6502
Jul 23, 2012
358
1
Problem with HTML apps is they still feel like HTML apps. The main reason to use HTML app is you want write a single app that you can push across Android, IOS, and Windows.

The problem is they still don't feel quick right and even using frameworks to work, they still do not feel right.

That is up to you though and your own personal tastes.

One of the biggest examples I can give is how Facebook made leaps and bounds improvements in responsiveness and reliability in their IOS app by switching From HTML to objective c base programming.
 
Last edited:

msaljaber

macrumors newbie
Original poster
Feb 4, 2013
13
0
Thank you all :)

Is Objective-C really hard language to learn? -as 'they' said-?
I have some ideas, wanna bring them to life, also, I have 6 hours free-time to learn how to break a rock!

Any advices?
 

robbieduncan

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
Thank you all :)

Is Objective-C really hard language to learn? -as 'they' said-?
I have some ideas, wanna bring them to life, also, I have 6 hours free-time to learn how to break a rock!

Any advices?

6 hours total? 6 hours a day? Given your foundation I don't see it as a possible in 6 hours total...
 

robbieduncan

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
Oops! sorry, 6 hours a day :)

Then, depending on lots of factors, it could take a few months. You will need to ensure you are comfortable with object-oriented design patterns and the general Cocoa patterns in use as well as the syntax of the language.
 

anoobis

macrumors regular
Jul 26, 2012
120
58
Check out Titanium: http://www.appcelerator.com/platform/titanium-platform/

Apple's Objective C is kind of cumbersome. It's a pain, honestly.

Concatenate two strings: http://stackoverflow.com/questions/510269/how-do-i-concatenate-strings

Using 'self' in blocks needs workarounds like weakSelf. Multiple ways to do iVars some of which accomplish the same exact thing. Constant deprecation of methods. Constant changes to ways you do something in XCode yet the documentation is not updated to match. NSInternalConsistencyException when developing with a changing Core Data model (prevents app from starting).

ObjC in general is not as elegant a language as others. There's not really support for 'protected' access, for example. It's fake. There's no true private access either. No support for abstract methods. Things like that.

XCode is not a very good IDE. I use AppCode and XCode since AppCode's editing capabilities are far superior (like auto suggest), imo, but AppCode is missing some functionality that XCode has e.g. Interface Builder. But, then again, Interface Builder is pretty buggy - in its interactions and also in the resulting 'model' it outputs. Weird stuff happens. Doing the same thing programmatically fixes the issue most times.

Just a FYI for when/if you get into it. I make a living using it and it's not terrible. Just a lot that annoys me compared to when I develop in other languages/environments. Don't be discouraged if you're finding yourself constantly asking yourself "WTF?!"
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.