10 ms·
Show HN: Our first iPhone app, built entirely in JavaScript
- deleted 15y ago[deleted]
- gpmcadam 15y agoCare to expand on the "built entirely in JavaScript" part? Sounds interesting.
- GigabyteCoin 15y agoThis is the only reason I clicked here. I too would love to hear more on that aspect.
- lobster_johnson 15y agoPresumably it's a "single-page web app", where the HTML page is essentially empty except for JavaScript. This JavaScript then performs the rendering by dynamically constructing an HTML page with the DOM, as well as fetching data from the back end, and so on. It's a fairly common application model these days. They probably use PhoneGap or something similar to glue into the mobile OS environment. (Edit: They use Titanium.) My company is developing a very similar events app, also written entirely in JS (PhoneGap, Backbone, etc.). There are so many challenges in making it a smooth user experience comparable to a native app, but we've finally gotten there.
- d2ncal 15y agoThey are using Appcelerator Titanium, which is a cross platform app SDK. You write your code in Javascript, and Titanium actually generates native code that is then compiled into an app.
- deleted 15y ago[deleted]
- flixic 15y agoWhat framework did you use?
- timdot 15y agoIf it's written purely in Javascript, how come there's no Android version? More phones nowadays run Android that iOS so you're missing out on a hell of a lot of people's custom, myself included :-) Anyway - nice idea. I had a very similar idea a few months back (Mobile apps aren't my area, was more of a "It'd be nice if this existed" thing). If you bring out an Android version I'll be sure to give it a go. Does it feel the same as a native app? I really dislike applications written using phonegap, etc, they usually feel a little rough or not quite right.
- stevenou 15y agoHi, I'm the CTO for RAVN. When we decided to jump into the mobile dev game no one in our company had any experience with Object C or Android dev. We knew we wanted an iPhone app for sure, and probably an Android app eventually. I had taken a brief look at Objective C previously, and coming from Ruby/Rails, it looked less than trivial (memory management?! I hadn't done that in 10 years). I had heard about frameworks that would allow us to use JavaScript to write our app, and also allow for cross-platform development, so I started researching. I looked at PhoneGap and Titanium primarily. We ended up going with Titanium for a few reasons: - As you may or may not know, PhoneGap works by creating a sort of Safari "wrapper" that lets you write your app in HTML5 and JS. But the performance is crappy relative to native rendering. Titanium also used to work the same way, but more recently it actually compiles code written in JavaScript to native Obj C and Java. Clearly the benefit is speed. - Even though Titanium only supports iOS and Android, we didn't really plan on ever developing for other platforms (e.g. Windows Phone, BlackBerry, webOS). If you're looking into developing a mobile app, I would recommend taking a look at Titanium. To be fair, I had to write a little Obj C to hack geofencing functionality into Titanium (if you're interested in that: http://stevenou.com/post/17623116547/how-to-hack-geofencing-into-titanium http://stevenou.com/post/17623116547/how-to-hack-geofencing-...). There were lots of pros and cons to using Titanium and I'd be happy to answer any questions.
- Kiro 15y agoDid you ever consider appMobi?
- stevenou 15y agoWe didn't specifically look at appMobi, but as far as I know Titanium is the only (relatively mature) framework that compiles to native Obj C, and is not just a wrapper for HTML5. The performance difference is enormous.
- Kiro 15y agoTo be honest I've only built games and in that sense appMobi has an edge with their DirectCanvas technlogy which speeds up the canvas rendering on mobile devices by 500% (according to them). I guess you don't use any canvas though so not really relevant in your case. Thanks for the reply anyway. I will definitely have a closer look at Titanium.
- draggnar 15y agoThe landing page is fantastic. Super simple initially, more info if I want it. I wish the features section was more visual.
- joezhou 15y agoThough with titanium and phonegap you still cannot tap into the full capacity of the phone.
- catch23 15y agothey both have plugin systems that allow you to write normal objc code to do anything that wasn't available in their apis... so if you ever needed to call opencv code from javascript, you can do that.
- bwm 15y agoI'm pretty impressed with what you can achieve by running JS in a WebView, that said, it still is not as responsive as a native app. This is one of the better attempts I've seen though at bridging the gap between HTML5 and native, perhaps it just needs another year? keep up the good work!
- d2ncal 15y agoIt's not a HTML app, but built using titanium which is a cross platform app sdk where u write the code in JavaScript. One day we will be able to do this using just HTML... But that day is not here yet :(.
- paisible 15y agoIs there any way we can add our own events ?
- d2ncal 15y agoI am the founder of http://theicebreak.com http://theicebreak.com We have built our app ( Icebreak for Couples - http://itunes.apple.com/app/id476063944 http://itunes.apple.com/app/id476063944 ) using Titanium. When we started building it, Titanium was very very buggy. It has since improved, but still has a lot of really basic stuff that is broken. Their forums have a lot of questions that have been unanswered for over an year. Our reason for picking Titanium was basically to have an app that is just like a native app on both iPhone and Android without writing the code twice. We have found out that porting a Titanium app to Android is taking a ton of effort, lot more than we originally thought. I would be curious to hear what the RAVN team has to say regarding their Android version. Its just not as cross-platform as we thought :(. I would be extremely careful before picking it in the future. Basically, if you build native apps: Native App: iPhone=1X, Android=1X. If you want both Android and iPhone: 2X Titanium App: iPhone=2X,Porting to Android: 0.7X. Total effort: 2.7X Native Wins.
- stevenou 15y agoExactly the same sentiment. That's the reason we did not launch with an Android version today. We will probably write it natively when the time comes. Titanium has proven to be a nightmare with Android.
- grobolom 15y agoBoy, do I feel you there. I've been working with Titanium since last March and I've yet to develop some semblance of a cross-platform application. It's a bloody mess in there.
- skat_et_dieu 15y agoHave you looked into the new Enyo framework to deploy apps?
- romefort 15y agoThe app looks great, congrats on that. The thing that bothers me though is that it posts stuff on my FB timeline without my approval first. This does not sound like a good practice.