Amazing. Way back in 2007 I taught myself how to code by making small Facebook apps. I started out by editing live PHP files on a shared server from A Small Orange ($3.33 a month!). After a few months I a few apps with traffic around 30k DAU. A Small Orange would automatically shutdown the apps every couple hours. I'd email them and complain about their shoddy hosting service. They'd always respond instantly apologizing and putting the apps back online. After a couple weeks I realized that I had a scaling problem and began learning how to setup a dedicated server. Over the next two years I spent about 80% of my time wrestling with hardware, setting up load balancers, configuring cache and db servers, and other operational nightmares. I had little time or energy to work on improving my apps or building new products.<p>Then I discovered Heroku. I would have done anything to have this when I started out. The platform teaches (forces) you how to build a scalable architecture. You can try out new ideas for apps for essentially nothing (1 dyno is zero dollars). Since moving to Heroku I spend about 5% of my time working ops. The craziest thing is I've actually saved money since switching from dedicated hardware to Heroku. I was really bad at configuring servers and the stuff I built was inefficient and expensive. Heroku's cloud stacks are optimized better than my old hardware environment.<p>Heroku's architecture is great for wild traffic swings common with Facebook apps. Well except for their database services. They don't seem reliable or scalable. I prefer RDS.<p>In sum, Facebook and Heroku is a great starting place for learning to build web apps. I would have done anything to have this tech four yeas ago.
This is pure win. The screencast on this post shows that with one click you get a deployed app (in the language you choose) that ships with an app template that uses the Facebook APIs to get you started.<p>We're witnessing a Facebook app that creates real living Facebook apps. Heroku continues to impress with insanely easy onboarding of folks new to deploying web apps, and building features the way things should work.<p>It must be amazing to start programming in the age of Heroku.
Ok, I'll be the mean one. While I am happy for heroky and everything, I am not sure why this move matters. Was hosting what was holding back the facebook app ecosystem? I was under the impression that the only successes there were Zynga and.. i'm sure there's others? Modernising hosting and support is great, but I thought it was the inconsistent policies and favouritism, and maybe the nature of the medium that killed that scene, not lack of hosting support.
As a Python developer I was delighted to see Python in the list of supported languages. After cloning the repo you can notice it's just a standard Flask site with Jijna2 templates and helpers for accessing Facebook's API. I can see this as a really easy way to start developing for Facebook and also Python.
Anyone see a list of what framework is being used for each language? I created a Ruby app, and it's using Sinatra.<p>Edit: here's links to all the app templates, for anyone interested:<p>Python: <a href="https://github.com/heroku/facebook-template-python" rel="nofollow">https://github.com/heroku/facebook-template-python</a><p>Ruby: <a href="https://github.com/heroku/facebook-template-ruby" rel="nofollow">https://github.com/heroku/facebook-template-ruby</a><p>Node.js: <a href="https://github.com/heroku/facebook-template-nodejs" rel="nofollow">https://github.com/heroku/facebook-template-nodejs</a><p>PHP: <a href="https://github.com/heroku/facebook-template-php" rel="nofollow">https://github.com/heroku/facebook-template-php</a>
At Dreamforce a couple weeks ago I was wondering how sfdc was going to position Heroku since sfdc has already put a lot of time/effort into selling force.com. Seemed like they were trying to make the argument: "You use heroku for facebook apps and force.com for everything else!" This makes even more sense in that context.
Why sinatra and not rails? I've been trying to teach myself ruby (on rails) for an app idea that I have, and this was great news as I'd been having trouble getting off the ground with rails and the koala gem. But for someone new to programming like myself, it seems like there is a ton more learning materials out there for the rails framework than sinatra.<p>So in a way this seems to me like a very easy way to get a simple app up and running, but I lose all the help that's out there that's specific to the rails framework. Am I being naive in thinking that the little that I've learned about the rails framework won't apply to sinatra?
This seems great. I know Facebook is switching (or has switched) to requiring 3rd party apps to use an SSL certificate. Since many of the Facebook apps I've been developing don't really require much (many times they're just informational pages, no user input) it seems like a waste to buy a full domain and SSL cert. Being able to just use Heroku's domain and piggyback SSL could be a big win there.
I noticed that they offer python hosting now. So I did a little tutorial on how to set up a Django app on Heroku.<p><a href="http://elweb.co/programacion/how-to-host-django-apps-on-heroku/" rel="nofollow">http://elweb.co/programacion/how-to-host-django-apps-on-hero...</a>
I am constantly impressed with Heroku's ability to identify market needs, create partnerships, and deliver product. I would love to see an article or book about their company and its evolution.