Facebook, Twitter, and Gmail are all examples of web applications.
A web application is a computer application that is accessed via the Internet and used within a web browser.
Some examples of things that are not web applications are Adobe Photoshop, Battlefield 3, iTunes, and anything from the App Store or Google Play.
Because that's where this app lives!
I use Heroku to host my app and while I own the domain
webappfromscratch.com, it would cost me a significant amount more to use that domain and use SSL to securely accept payments through it. ($50-$100 for a decent SSL certificate plus $20 a month just to use it on Heroku.)
Honestly, I'd really like to use my own domain, but I can't presently justify paying $240+ a year for it.
But fortunately for everyone, Heroku allows its users to piggyback its SSL cert for free if they use a subdomain. So I do! And that's why you're here!
Ruby is a programming language and Ruby on Rails is a web application framework written in Ruby.
You'll also see Ruby on Rails referred to as "Rails" or "RoR".
If you'd like a deeper explanation, I highly recommend reading the book!
If you're taking the time to read this, then I'd say this book is exactly for you.
In fact, I wrote the book in part for friends of mine who aren't programmers but would benefit from having a basic understanding of the topics presented.
So I'm not promising to make you an expert programmer in one hundred thousand words or less, but if you're starting out, whatever your goal, I'd be honored to be your guide.
If anything, I wish that I had started writing code sooner. What's worse, I know that I could have; I just didn't.
If you're here with curiousity, jump in. You can do this.
College can help, but most of what my computer science education helped me understand is performance related stuff. ...made me paranoid, really.
I strongly encourage anyone who doesn't have the background to aim to be well-rounded, but you do have to start somewhere and I think here is the perfect place.
I absolutely do.
Anymore, every program eventually needs to hit some kind of API (Application Programming Interface) to read or write data to or from some kind of Web service (e.g. Facebook, Twitter). Even if you never intend to write a web application yourself, this book will help you understand some the inner workings of the services you'll be interacting with and the formats they use.
Logic plays a much bigger part in the practice of a Web developer than math does.
There is math, but it's certainly not on the level of trigonometry, calculus, or anything like that.
Rails 3.2.8 here.
Rails 4 will be on its way shortly though, so I'll update the book accordingly once it's out.
Because I'm a Web developer and this is the format I'm familiar with.
I may eventually try other formats, but I think this one lends itself nicely to what the book is trying to accomplish.
Plus, it's highly encouraged that that the reader "type along" with the book, which implies that they should (1) be at a computer and (2) already have a browser open.
That said, I have taken steps to make reading the book on a mobile device as visually pleasurable as possible, so that the reader need not be tied to a desktop or laptop to read the book.
Personally, I struggled to learn how to build web applications, despite already having a base programming knowledge, because I didn't understand a number of things of critical importance to them. But I did eventually learn. Furthermore, I did this fairly recently and still remember my hang-ups.
Looking around, I've yet to see anyone address the problems I had. Since no one else had made an attempt, I decided to take a stab at helping those like me that are having trouble with the unmentioned requirements as they are getting started.
My sincere and earnest goal in writing this book was to make the first few steps less frustrating for you than they were for me. If I don't help you, you're absolutely welcome to get your money back.
First of all, I don't store any credit card information within the app, because that can be a complete mess. In fact, credit card information is never even sent to my servers.
I do, however, pass the information along securely to a wonderful online payments processor by the name of Stripe. They then hand me back a token representing the card, and I use that to make a charge.
This process is even covered in detail in the book.
I use OAuth for user registration, which returns a varying assortment of data depending on which provider you choose, but I only persist your full name and email address.
I don't do anything with your email address, other than sleep peacefully at night knowing that I have a means of contacting you if needed.
In the future, I may also send out a note from time to time to let everybody know about updates.
That's a statement, not a question.
Also, your satisfaction is guaranteed.
If you click a link that takes you to another site that has a product for sale, just assume that you've followed an affiliate link.
You absolutely can!