I'm trying to make the move from corporate java development to Ruby on Rails development, and I'm trying to put together a list of things I need to learn.<p>For context, what I know & don't know already in that domain:<p>Know: ruby itself, a decent amount of html, some css, a tiny bit of javascript. I've messed around a little bit with wicket & spring on the java web dev side, although I'm more comfortable with swing and backend-y things.<p>Don't really know: any advanced javascript or CSS tricks; Framework-style programming in general seems a bit awkward for me.<p>So- any good ideas of what I should be looking at beyond rails tutorials?<p>Thanks!
Familiar shoes I've walked in. Build something more than the typical blog or book inventory site you see referenced in tutorials. If you can't think of something to build, then think of one of your corporate Java apps and build that in Ruby/Rails from scratch. Or if you want a side project then pick something and literally copy it in your own way. Like a photo sharing site or whatever.<p>Things to include in your example app so you can learn the ins/outs of how rails does it:<p>- Nested models: comments on photos and how to organize the models, many to many relationships<p>- Rendering Partials: you can factor out pages into partials and essentially load them anywhere in the app<p>- Gems ecosystem: check out rubytoolbox (.com I think) for categories of gems. These are like Java JAR files you can include via Maven. The popularity and activity level are good ways to assess usefulness (outside of requirements)<p>- Host your own server: learn how Rails apps run on a server and different options for running it. There are providers out there like Heroku where you can just deploy to them but I think it is best to understand how these work. You probably understand how Tomcat or other Java containers work, where to look for log files, how it might interoperate with Apache HTTPD, etc.
I have been working in both Rails and Java(Android). First one thing which should be very clear to you is Java is a language and Rails is a framework based upon Ruby language just like Spring/Hibernate.<p>Ruby standalone is nothing its power comes when you put Rails on top of it while Java standalone still is powerful concurrent, class-based, object-oriented language<p>Rails is immensely powerful framework developed keeping in mind every aspect of web development with ever growing large open source community you might need need to put all of your focus in mastering CSS/JavaScript ( yes you still need these things while moving to Rails ) instead i would recommend you learn Rails philosophy which is<p>-getting things done with minimal code and in a beautiful way using gems<p>I think above will be enough for you to start<p>Note: I have said you might not need to put all of your focus in mastering CSS/JavaScript but these are just when you are starting JavaScript is FUTURE really
I made a base rails app for a pattern I've been using recently.<p>It might be helpful to take a look at it and get it running? I think getting a few apps running locally so that you have at least somewhere to start is useful.<p><a href="https://news.ycombinator.com/item?id=9090818" rel="nofollow">https://news.ycombinator.com/item?id=9090818</a>
If you don't want to use only online tutorials and videos then look at <a href="http://training.wizebee.com/rails-course" rel="nofollow">http://training.wizebee.com/rails-course</a>, where you will a have someone teaching you what you need to know.
You might want to look at coffeescript. If you like Ruby, you'd probably like the coffeescript syntax for writing javascript, which should be helpful in web app development. Rails has out-of-the-box support for .coffee files.