iOS Apps : HTML5 vs Objective-C?

Discussion in 'iOS Programming' started by msaljaber, Feb 4, 2013.

  1. msaljaber, Feb 4, 2013
    Last edited by a moderator: Feb 4, 2013

    macrumors newbie

    Joined:
    Feb 4, 2013
    #1
    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!
     
  2. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #2
    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.
     
  3. macrumors 68030

    MattInOz

    Joined:
    Jan 19, 2006
    Location:
    Sydney
    #3
    If it's iOS6 only upgrade or interface it could be a UICollectionView with a custom layout.
     
  4. macrumors 603

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #4
    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.
     
  5. macrumors 6502

    Joined:
    Sep 3, 2008
    Location:
    Rochester, NY
    #5
    You can use PhoneGap (Cordova) to make a native iOS app with use HTML and JavaScript.

    http://phonegap.com
     
  6. Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #6
    I don't believe those are truly native apps.

    From their FAQ:
     
  7. macrumors 65816

    TouchMint.com

    Joined:
    May 25, 2012
    Location:
    Phoenix
    #7
    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.
     
  8. Kashsystems, Feb 5, 2013
    Last edited: Feb 6, 2013

    macrumors 6502

    Joined:
    Jul 23, 2012
    #8
    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.
     
  9. thread starter macrumors newbie

    Joined:
    Feb 4, 2013
    #9
    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?
     
  10. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #10
    6 hours total? 6 hours a day? Given your foundation I don't see it as a possible in 6 hours total...
     
  11. thread starter macrumors newbie

    Joined:
    Feb 4, 2013
    #11
    Oops! sorry, 6 hours a day :)
     
  12. Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #12
    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.
     
  13. anoobis, Feb 7, 2013
    Last edited: Feb 7, 2013

    macrumors member

    Joined:
    Jul 26, 2012
    #13
    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?!"
     

Share This Page