Live data from Hacker News

Framework 7 – Building native iOS apps in HTML5

idangero.us

111–120 of 131 posts

Re: Framework 7 – Building native iOS apps in HTML5

#111
post #30
post #14

I'm not knocking this or any particular xxxx-to-mobile platform, but as a native iOS and android developer, I would highly recommend just learning the native languages and frameworks. First, you have the absolute most control you will ever have over your application. This may not be true when a particular tool becomes popular, say at the release of a new tool, but this definitely shows up as time progresses. Who know…

> First, you have the absolute most control you will ever have over your application. You have 0 control over distribution though, which is pretty important to me. > There are some amazing libraries for both platforms that you definitely don't want to miss. I don't doubt that the platforms have good 3rd party support, but it's absolutely dwarfed by that of the web community, and that will only grow larger over time.

  > I don't doubt that the platforms have good 3rd party support, but it's absolutely dwarfed by
  > that of the web community, and that will only grow larger over time.
You know why it is funny? The things that native offers without even third party code is leaps and bounds beyond what web community offers for mobile and will stay this way for a long time, if not forever. So far community has been reinventing the same wheel a thousand times over and there is no sign of progress. Guys, look, another MVC framework, how cool is that!

Re: Framework 7 – Building native iOS apps in HTML5

#112

Cross-platform UI is a bad idea on the desktop. Cross-platform UI also is a bad idea on mobile. We need to learn from the past. Cross-platform UI is a conceptual mistake. An app that has an icon on the home screen is perceived by the user as "an app", no matter if it actually launches the browser without the toolbar, if it is a web app wrapped in a PhoneGap shell of if it is a native app. To the user, it's an app. It…

Rdio pulled it off.

Its not a bad idea, its just really hard to pull off.

Re: Framework 7 – Building native iOS apps in HTML5

#113
post #70
post #45

Earlier quoted context omitted.

If have read before that C++ can be used to share logic. An interesting development with iOS7 is that it has a JavaScript runtime of some sort (I don't know the details) - perhaps it will be possible to use JS for cross-platform code.

You're thinking of JavaScriptCore. It allows Objective-C objects to be used inside of JavaScript (and vice versa). It's actually a pretty cool technology. I gave a talk about it this month at Berlin CocoaHeads, and I'm gonna put some blog posts together about it soon!

I presume the JSCore runtime bridges objects back and forth? Very cool!

Re: Framework 7 – Building native iOS apps in HTML5

#114

Cross-platform UI is a bad idea on the desktop. Cross-platform UI also is a bad idea on mobile. We need to learn from the past. Cross-platform UI is a conceptual mistake. An app that has an icon on the home screen is perceived by the user as "an app", no matter if it actually launches the browser without the toolbar, if it is a web app wrapped in a PhoneGap shell of if it is a native app. To the user, it's an app. It…

Completely agreed. However, I think you're missing a point here. The purpose for pushing cross-platform web-app-presented-as-native development memes isn't to make apps appear the same everywhere in a pretense toward common user interaction; it's to commoditize the developer labor market in these areas. It's better for companies (but not developers) if it's easier and cheaper to hire from a broad labor pool to produc…

This has already happened in web apps.

Whether you're hiring people based on experience with frameworks, or relying on Bootstrap, the central message is that you as a developer are easily replaceable. Experience is devalued in favor of what you know now. You aren't hired to think, you're hired to ship fast and break things.

I know I'm not alone in finding these terms unacceptable.

Re: Framework 7 – Building native iOS apps in HTML5

#115
post #96
post #75

Earlier quoted context omitted.

As someone who spent years building "HTML5" JS mobile apps and then recently spending the time to learn native languages, I 100% agree. There is no way to match the performance and consistency of native with a cross-platform clone. It will always be a half-baked solution. That being said this only applies to apps . A ton of apps shouldn't be apps, they should be well-optimized websites. For ex. content sites. Side No…

> Learning Objective-c and Android java dev isn't nearly as bad as I thought it would be Where did you start? As a web developer Java and Objective-C seem really complicated and require so much code for the simplest things.

The additional code involved in Java/Obj-c is less annoying since they are well integrated in IDEs such Android Studio or Xcode which auto-generate most of the boilerplate. After you develop for a while you depend less on the IDEs.

I always build an app to learn the language/platform. The only way you can really learn it is by building something. Combined with that I usually buy a book.

For Android, I hardly had to invest any time learning Java, since I came from Ruby and it's pretty similar. Most programming languages are all the same under the surface. Especially among OO-heavy ones.

Best android book: http://www.amazon.com/Android-Programming-Ranch-Guide-Guides...

Best objective-c book: http://www.amazon.com/iOS-Programming-Ranch-Edition-Guides/d...

Both books assume you know the languages but I jumped in with limited knowledge and learned the language as I went.

Re: Framework 7 – Building native iOS apps in HTML5

#116

Earlier quoted context omitted.

You don't have to buy it, it's an undeniable reality. Yes, if you're an enterprise and you can afford to write native apps for all platforms, then that's the better choice. If you're a small startup or a single developer, writing the app 3 times is just not cost effective.

Most likely you never tried to do what you preach. You will end writing your app only a little bit faster (if you are lucky) and then three times more on debugging.

I have. I built an HTML5 hybrid mobile app for Android and iOS. It was about 90% JS/HTML/CSS and 10% native code. Worked very well for our purposes. You can judge for yourself, it's called Kona and in both major app stores.

Re: Framework 7 – Building native iOS apps in HTML5

#117

Cross-platform UI is a bad idea on the desktop. Cross-platform UI also is a bad idea on mobile. We need to learn from the past. Cross-platform UI is a conceptual mistake. An app that has an icon on the home screen is perceived by the user as "an app", no matter if it actually launches the browser without the toolbar, if it is a web app wrapped in a PhoneGap shell of if it is a native app. To the user, it's an app. It…

Rdio pulled it off. Its not a bad idea, its just really hard to pull off.

isn't Rdio built with Xamarin and therefor uses native UI elements ?

Re: Framework 7 – Building native iOS apps in HTML5

#118
post #75

Cross-platform UI is a bad idea on the desktop. Cross-platform UI also is a bad idea on mobile. We need to learn from the past. Cross-platform UI is a conceptual mistake. An app that has an icon on the home screen is perceived by the user as "an app", no matter if it actually launches the browser without the toolbar, if it is a web app wrapped in a PhoneGap shell of if it is a native app. To the user, it's an app. It…

As someone who spent years building "HTML5" JS mobile apps and then recently spending the time to learn native languages, I 100% agree. There is no way to match the performance and consistency of native with a cross-platform clone. It will always be a half-baked solution. That being said this only applies to apps . A ton of apps shouldn't be apps, they should be well-optimized websites. For ex. content sites. Side No…

I totally agree. We need to learn how to use the right tool for the job. If your job is to cut down trees you wouldn't say "Well, I know how to use a pocket knife and I think a pocket knife is much easier to use than a chainsaw, so I'll just cut down trees with my pocket knife." No, you'd obviously invest a little time to learn how to use a chainsaw to get the job done properly.

Re: Framework 7 – Building native iOS apps in HTML5

#119

The limit we've run into with iOS is not getting a good looking UI. Rather it's the performance of Javascript in Safari. We have a fairly large one page webapp that looks great on iOS however the performance is an order of magnitude slower on an iPad than Chrome on an old laptop.

My understanding is that only Safari gets access to Nitro (Nitro : Apple :: V8 : Google). Web Views inside native apps don't get access to Nitro. Even web apps that you save to your home screen don't get access to the faster rendering engine. This is apparently for security reasons. I think it's one of the biggest barriers to web apps being competitive on iOS. (The other is that there really isn't a good installation…

Nitro, to my knowledge, only optimises Javascript performance, but JS performance is not the only bottleneck. We noticed that DOM manipulation together with style and layout calculations play a big part, see http://blog.mikie.iki.fi/2014/02/some-numbers-on-mobile-safa...

It's very tough to make a quality app using HTML5 if you use gestures and animations. Coding it in native Cocoa/Objective-C is much easier at the moment than trying to polish that last 10-20% of your HTML5 app performance.

Re: Framework 7 – Building native iOS apps in HTML5

#120

Earlier quoted context omitted.

I don't buy it. Enterprises definitely buy into that idea and they do have their employees work with these crippled apps because they have no other choice. But the experience for this 'CRUD' app is definitely not good enough. It's by forcing it that it gets used. It depends on how intensively it will be used in reality, but I definitely know quite a few companies who went from BYOD and an HTML5 Cordova app which was…

You don't have to buy it, it's an undeniable reality. Yes, if you're an enterprise and you can afford to write native apps for all platforms, then that's the better choice. If you're a small startup or a single developer, writing the app 3 times is just not cost effective.

Depends on whether or not quality of the product is a factor in your cost calculations. It should be, and for many startups and solo developers, it absolutely is.
Post reply on HN