Getting started with ROR when you come from the desktop world with no experience in developing web application

I’m very interested in starting with ROR, however I do not know where to start, I’ve a background as a developer of desktop application, the web is new to me, there seems to be a lot of things to master in order to become an efficient ROR developer, So I’m a bit confuse on what should I learn first : HTTP,DHTML,XML,DOM,Javascript, CSS and then Ruby on Rails ?

I’m aware that ROR does many of the low level dirty work for you, so it hides the complexity from you

So my questions are :

1/ Do you think someone can be a good ROR developer without mastering the following technologies : HTTP,DHTML,XML,DOM,Javascript, CSS

2/ Which books would you advise me to read (ideally in chronological order)

3/ Does the learning curve can be pretty steep for someone who do not come from a web development culture (ie : Java/J2EE)

4/ I would also appreciate book recommendations for : HTTP,DHTML,XML,DOM,Javascript, CSS, Ruby, Rails

Best Regards from France, Tarek Demiati

1. ?(HTML => NO),YES,YES,MAYBE,MAYBE,NO

2. I would start with

but wait for the 3td edition...

3. The learning curve is steep for anyone starting a new language without prior experience...

4. anyone?

I think it should go like this for someone that is blank...

- Ready agile web development and see how you like programming (It is not for everyone) - Get a ruby reference book... - DO ALL THE EXAMPLES... - Think about an application NOT in the book that you would like to create... then create... - Start learning CSS so that you can make that application look pretty - Javascript/Ajax is sugar on the cake not something you need.. - XML is most likely something you will not need for a while in you application .... Good to know what it is but you can create websites without it...

To become a *web* developer, on whatever platform, I'd recommend you first learn:

1) HTML and CSS 2) HTTP and the nuts and bolts of how a web server works

Build a few static pages, your own personal site perhaps, to get your feet wet. You should be able to find some tutorials on the basics, and use the W3C recommendations as references.

Then start developing a simple RoR app and learn Ruby and Rails. Once you're somewhat comfortable you can start adding JavaScript (which will include understanding the DOM).

XML can wait :slight_smile:

HTH, and good luck,

Tarek - I went through what you're about to go through and actually enjoyed the process :slight_smile: I hadn't programmed anything for 12 years

Buy the Ruby Pickaxe book. Buy Agile Web Development with Rails (wait for next edition) Find a hosting company that supports RoR if you need hosting. Use mod_rails to deploy.

It took me a few iterations to understand the whole Model-View- Controller idea.

I know zero about HTTP, DHTML, XML, DOM I know a very, very little about Javascript

You need to start understanding CSS at some point but it comes later and as you need it, I found.

Work hard to understand Ruby. And just abandon the for loop as quickly as you can.

The learning curve was steep for me but it's fun to learn new stuff.

Here's what I managed to produce and I started in February 2008. I'm just starting to experiment with some of the Ajax stuff.

http://www.assetcorrelation.com

Andy wrote:

Buy the Ruby Pickaxe book. Buy Agile Web Development with Rails (wait for next edition) Find a hosting company that supports RoR if you need hosting. Use mod_rails to deploy.

I bought both of these books as PDF's from the Pragmatic Programmers site. I have dual monitors so I really liked this setup. Textmate in one window and my PDF in another.

I also have access to a color printer and a binder at work. So I printed out the Active Record, Action Controller, and Action View chapters and bound them into 3 separate little books. They fit nicely into my laptop case and has been a really neat tool to help me reinforce what is going on in these 3 important pieces of rails. I have to think about the MVC design pattern to grab the right book to find what I am looking for.

The 3rd edition is out in PDF as a beta from their site now if you want to get started; same with the new Pickaxe book.

Good luck! I'm having a great time. :slight_smile:

2/ Which books would you advise me to read (ideally in chronological order)

I would read the Pickaxe first and get a good grip on ruby before moving onto AWDWR

3/ Does the learning curve can be pretty steep for someone who do not come from a web development culture (ie : Java/J2EE)

I don't think it's as different as you think. I came to Rails with no web experience.

Part of it depends on where you see yourself going. I personally am more of a backend programmer whose frontend happens to be the web, however most of the time I am solving problems that are completely independent from that front end. I leave the graphical design, css and that sort of thing to people who care deeply about those things (it does help to understand what's going on, in particular a healthy understanding of the DOM and javascript is useful if you want a richer interaction than a traditional website. CSS selectors and so on are cool, however I know nothing about making stuff look pretty). Depending on what you want to do, that may or may not be an option.

Fred

If you already have experience with software development and you have a comfortable work environment (i.e. OS, editor, web browser,...) then I say go for it. There are so many related protocols et.al. dumped into the interweb (HTML, XHTML, XML, blah blah blah) that if you try to bone up on all of them before you start you 1) won't start or 2) will start so far from RoR that you'll likely forget why you wanted to in the first place.

There is definitely a Unix bias here (read MacOSx and Linux in it's many flavors) that will give you a slight penalty if you're working in the MS world (there are those of us who think that's only fair...:wink:

I think there are two ways to approach the learning curve. The first is to go the study method:

1) Pickaxe ==> AgileWeb ==> AdvancedRailsRecipes => DeployingRailsApps

I would include Obie Fernandez' TheRailsWay in this list.

This is a very good path for the patient and, even if you don't follow it (the one true way) religiously, the books should be always at hand in some form for reference.

2) For the impatient, take a look at RailsSpace by Hartl and Prochazka. You can follow along the development of a fairly simple project and get a good feel for the way the big ideas (REST, MVC, DRY, buzz buzz buzzzzzz) look in code.

My guess is that some combination of the two is good for just about anyone.

You'll also want to get very familiar with various chat groups - this is a good one. Just monitoring the conversations will give you a good idea of what the current active issues are.

One added thing is some kind of IDE or just a smart editor. I've always found that emacs is a fine tool to have around, NetBeans (by Sun) provides a fairly full IDE that runs on different platforms. NetBeans is an active area of development itself with real work being done to support RoR.

Most important is have fun. Rick

It depends on "what" you have interest in doing.

For my applications, there database focused.

So here is the "getting" something going in the shortest possible time.

1. Get the "Ruby Cookbook fro Oreilly". (Keep on your desk) 2. ProActive Record is another one I would keep handy. 3. Choose a project. 4. Use the following plugins:     a. ActiveScaffold     b. Tabnav/Widgets 5. Use sqlite to start. (I used oracle to start, but I work in a enterprise) 6. Start your app.

The lovely part of using activescaffold, is its highly customizable. So you can go far not "writing" any dhtml/xml/dom/css. Yes your have a "enterprisey" looking app, but your have it in short order. I've done apps with 20-30 tables, write a conversion script to import the data, write a generator script to generate controllers and models, and had it up and running and usable in 4 days.

It all depends on the "type" of applications you want to do.

You might want to look at mentalpagingspace.blogspot.com lots of experience I've gained in using ruby and rails for large scale corp applications.

At this point I feel I can do anything from a Stock trading applications to a MRP/ERP system using ruby on rails. (And can do it in windows or linux).

If you are more of a "watching/listening" follow-along learner than a "reading" oriented one, there are some extremely useful screencast/ podcast resources that you may want to plug in to (some free, some for a modest cost):

http://peepcode.com/ has a selection of screencasts and PDFs over an ever-increasing set of topics ($9/each)

Ryan Bates' Railscasts (http://railscasts.com/ and iTunes, free) are an excellent source of free, very focused screencasts on one technical topic per episode

Our own LearningRails.com course (free, iTunes and http://LearningRails.com/), is a gentle, step by step "class" where we build a _very_ simple CMS- like app, showing all the behind the scenes nitty-gritty. We provide linked show notes and articles from BuildingWebApps.com that go from tool installation, Rails programming, testing, and deployment. Some of the older episodes need a Rails 2.1+ tune-up, but the comments contain the important pointers.

The Pragmatic Programmer's new screencast series (http:// pragprog.com/, small fee), has several Rails and Ruby oriented products.

The RailsEnvy screencasts (as well as Gregg and Jason's news oriented podcast, http://railsenvy.com, small fee on screencasts), are an entertaining resource that discusses the latest and greatest in RoR.

Basically, there is a wealth of non-book resources, so worth at least book-marking as you learn.

Good luck, -Christopher