Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I have been using Ruby on Rails for a while now and I'm really comfortable with it.
Lately I've also been using rails for simple static websites that consist of about 10 pages and some form handlers & mailers.
Now I'm wondering the following:
Is it overkill to use Rails for such sites with regards to memory usage?
What would be the cons for using Rails for such websites?
What would you guys suggest as an alternative?
I thank you all in advance for your replies.
Regards
One of the most important aspects of web design is the ability to expand/update/read the code. If you're most comfortable in RoR, use RoR. It's not overkill, especially because you can get extremely good test coverage with such a small website. If you or any person that inherits the website ever wants to add model code, it would be extremely easy.
BTW, I would highly suggest checking out the high voltage gem from thoughtbot. Very good for hosting static pages.
Take a look into Middleman please. It's a wondering tool for static websites on Ruby.
Although, Rails has higher memory foot print, since it gives you a lot of development power it is not an overkill. The pros are far more than cons so if you are comfortable with Rails use it for static pages too. You may need to update these pages to more advanced sites and applications at some point and with rails you will always have the option.
There really aren't many alternatives that are much simpler than RoR. In terms of memory usage, you could use PHP to fix that issue, but who wants to use PHP? No one, that's who :)
You could take a quick look at something like Node.js + the Express framework. Overall Node with Express is pretty different from RoR (it's purely javascript), but the way you generate views, etc is pretty similar.
I haven't don't too much in it, just some simple sites, but with little to no data-handling, you aren't going to be digging into the complicated stuff anyways. This framework would fix your memory woes completely.
You can look at it quickly here:
http://nodeguide.com/beginner.html
http://net.tutsplus.com/tutorials/javascript-ajax/introduction-to-express/
In my honest opinion, I would just stick with RoR. It's super easy and relatively lightweight in everything but the memory footprint, but if memory is REALLY that much of an issue, then give Node a try, it's fun. Some people love it, some hate it. It's still fun to learn.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
Hi there I was wondering how it would be possible to make a app like Facebook, or Instagram or other Social Network apps where users can login view their profiles and other peoples profiles. I was wondering if anybody would know what programming language I have to know or if I have to have servers. Any help would be greatly appreciated. Thanks in advance.
Welcome to the site!
This question is asking for a lot and not really really appropriate for this site, but how about some good starting points?
Building apps like facebook, instragram, etc are very difficult. Fortunately there are many great tools to help with this, like Ruby on Rails, Play, Django, etc.
There are many programing languages you can use to build an app like this. PHP, Ruby, Python, Java, Clojure, etc. You can even make a website in pure assembly if you want to.
Servers and database knowledge are required to get started as well.
Fear not, for we all have to start somewhere.
Here's some steps I recommend you take:
Learn how to make a website with HTML and CSS.
Learn some javascript, and understand how programming is dynamic.
Try languages like Ruby or Python, and learn about the power they bring.
Learn a web framework in the language you preferred with from suggestion 3. Rails and Django are two major frameworks used today, both have clear getting started tutorials.
Try grabbing an account at Codecademy or CodeSchool. They both have amazing step-by-step guides to help you get started with the right knowledge.
Build your app with profiles, etc.
Build a mobile app around your web-service if you'd like.
In summary, it's all about patience, determination, taking on new levels of complexity at the right time and of course, the amazing feeling when all your hard work pays off and your app works!
Good luck!
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
Why would I choose Ruby on Rails instead of PHP or ASP.NET when starting a new middle-sized project that has no restrictions? (not limited by hardware/operating system/memory/etc)
It's not a "web programming language" (whatever that means); it's a web application framework written in Ruby (a programming language, though certainly not just for the web!).
I'd say the primary advantages of Ruby on Rails (RoR) are:
the productivity of the Ruby programming language in general
the "Convention over Configuration" paradigm that decreases how much the developer must write to see a webapp running in their browser
stronger adherence to "Don't Repeat Yourself" (DRY) principles than PHP or ASP.NET (though you can still repeat yourself all you like if you try hard enough !)
The primary advantages of Ruby on Rails are:
1: That it takes very little effort to get started in web application development.
2: There is a huge community built around it and loads of people who are happy to help you get going.
3: For many applications you don't even need to look at SQL (which doesn't mean that you shouldn't)
4: There are probably more tutorials for the different aspects of the Rails framework than there are for any web framework out there on the net.
Summary: It's a great way to start your web application career, hobbykick, or what have you.
Some things that Ruby on Rails could do better:
1: Documentation, the proliferation of resources on the framework means it can be very hard to find thorough, concise and up-to-date documentation for certain plugins or gems. One SO user described it as "documentation via blogging."
2: When you work with Rails in the beginning you really don't need to know much of anything about your database. However, sooner or later you'll want to get more sophisticated with some of the SQL behavior, tune things to increase performance and so on. This may be a personal preference, but it's much harder to know what needs tuning when you have never needed to look at the SQL before.
When studying, I generally learn simple things, then get more complicated and advanced as time goes on. With Ruby on Rails it can be very easy to omit learning the easy database stuff, then when it comes time to do advanced things, you have to go back and start from scratch.
Hope that helps.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I was wondering what are the strengths and weakness of using Ruby on Rails for Web Application development. I would like an insight from other developers as to why they have chosen to write in Ruby on Rails over other languages and technologies.
What does Ruby on Rails provide that has the edge over other web application technologies and languages?
Are there any unique capabilities that the language provides?
Thanks in advance, hopefully I will be able to make the choice as to use the language or not.
Ruby on Rails is a server side technology, it cannot be compared to Flash or Silverlight that are client side technologies, like apples and bananas.
EDIT (for the edited question)
Rails's main strength over other server side tech's is ease of use and development speed. This comes from 2 factors:
ruby is a expressive and easy language
rails provides a simple yet powerful API (call it "programmer interface") that lets you focus on "doing your stuff" rather than "how to do it"
You write less code and don't struggle with side problems.
I'd add a great mature community and plethora of plugins and ready-made code.
Ease of learning and speedy development are big pluses
It runs pretty slow though (compared to, say, ASP.net)
Faster development, slower runtime
I think, Ruby on Rails' strength is a community.
There are a lot of people to ask about framework.
Also there are many books, libs, plugins, etc.
No matter which technology or framework you will choose,
just do not limit yourself with it.
Disadvantage is that many of the folks building larger apps have continued to work with C#/Java/PHP; there's not a lot of huge apps running on Ruby.
From my understanding - it runs slightly slower than the big three up there - large apps are staying where they were.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
What are some great Learning resources? What kind of problems do I solve with Ruby? Is learning ruby on rails same as ruby? If my current background is visual studio and microsoft.net framework, is IronRuby the best way for me?
Awful lot of questions, please suggest.
Ruby on Rails is an application framework around ruby.
It's like saying is "Asp.Net MVC" the same as learning C#?
Ruby is the language powering the Framework, but many have taken the good points and implemented it into other frameworks now.
Ruby is an interesting language. IronRuby compiles Ruby down to MSIL, just like C#, VB.Net etc. So it's a good start for implementing Ruby, as it maps Ruby to be able to be used in the CLR.
but if you want to learn the language itself, one good (and fun) way to get the basics is here:
http://tryruby.hobix.com/
Wiki to more about Ruby
Funniest and most creative intro to a language ever:
Why's (Poignant) Guide to Ruby
As for IronRuby. Here's more info on that:
Going Ruby: Straight to IronRuby?
What kinds of problems?
Pretty much anything that where the performance of a dynamic language is acceptable. It's general purpose (like Java, Python, C++, etc.) so you could use it for most any kind of application.
Is learning ROR the same as learning Ruby?
No. Ruby on Rails is a set of extensions to make Ruby good at web application development. To answer another question you asked, this is probably what Ruby is most famous for. It's use in Ruby on Rails and the ease of development it has offered to web developers.
How is a DSL useful?
It's useful because it is "domain specific". That's what the DS in DSL stands for. You're making a language with constructs which are appropriate for the particular problem domain you're working in. A DSL for arcade game development would probably have parts of the language to make it easy to animate multiple things and start them in motion and react to collisions between them. Whereas a DSL for accounting might have things for adding entire sets of numbers and comparing them to other sets.
Great learning resources?
I'm partial to video learning so my choices would be Railscasts.com and PeepCode.com.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I know that http://api.rubyonrails.org/ is meant to explain methods etc in ruby on rails, but I need something that explains the explanation to me. It seems like a good resource, I'd like to understand it or perhaps it's time to give up.
I think this might be what I was after
Reading the API
I suggest you try some light reading first. Quite a few Rails tutorials exist.
As the URL indicates, this is API documentation. You use it for reference, not for learning about the language or framework. This is not specific to the Rails API, but for just about every framework out there.
I suggest you follow a few Ruby tutorials and then start on a few Rails tutorials first.
http://www.ruby-lang.org/en/ should get you started on Ruby. I won't bother linking to Rails tutorials, but http://railscasts.com/ is an excellent place to start once you get a basic Rails app up and running.
After that, the Rails API will start making a lot more sense.
http://api.rubyonrails.org is definitely not what I would call newbie friendly. Here's some places to go for more information:
railsapi.com -- Same idea but way better presentation, easier to navigate. Use this like you would msdn.com: a reference for things you already know about, but need to look up the particulars.
guides.rubyonrails.org -- This is geared much more towards new users in a tutorial format.
railscasts.com -- Short demonstrations of particular features and plugins in screencast format.
Of course if you have any specific questions about the framework you've already come to the right place.
I recommend at http://www.railsbrain.com and http://railsapi.com/doc/rails-v2.3.5/ as better ways of navigating the docs.
Another good source would be apidock.com
Contains lots of examples on how to use each rails feature.
In addition the same site also provides documentation for Ruby
This one has a lot of good examples: http://www.tutorialspoint.com/ruby-on-rails-2.1/rails-quick-guide.htm