Tom Hukk wrote:
Hey everyone. I would like to build a website that would function
similarly to youtube. I have absolutely no experience with computer
programming, but I’m good with computers in general and I’m a quick
leaner.
Basically, I’m trying to get an idea of my options at this point. I’m
leaning toward hiring a developer (since I would like to be up and
running in about 6 months). I am also looking at doing some of the
programming myself. So, I have a few questions and any help or advice
would be greatly appreciated.
In terms of a DYI:
- How difficult is it to learn Ruby on Rails from the absolute
beginning and progress to where I could build and maintain and further
develop a website similar to youtube with my own custom tweaks?
You can build simple stuff pretty easily. But when it comes to
developing robust, scalable and secure multimedia rich web applications,
it’s going to take a while to get to a level a proficiency that you can
handle that well.
- How long would the above take starting from no experience at all?
Too many variables. But if you want this to be your first project with
Rails. Expect to make tons of mistakes and scrap the project entirely
at least one or twice as you learn better ways to do things.
- Where should I start? Any good books or tutorials for the beginner?
Agile Web D. with Rails 2nd Edition
In terms of hiring a web developer:
- How much (ballpark) would it cost to develop and maintain such a
website?
Too many variables. Perhaps $5,000 - $100,000 depending on feature set,
scalability, rates of developer, etc.
- How long would such a website take to build?
3-9 months, depending on feature set, scalability, etc.
- Do you have any recommendations in terms of developers and/or
companies I should work with or contact for help?
General questions:
- What are the steps involved in building a website?
I usually work like this:
-
Design a mockup. Get the client to approve mockup, or change the
mockup until the client does approve.
-
Design and HTML layout from that mockup as the beginning of a rails
application.
-
Design some subpages and get the client to approve them.
-
Create the HTML and functionality for the subpages as the client
approves the designs. Repeat until finished.
More or less.
- What is actually programmed when you build a website and how is this
process different from the artistic design of a website? Are they two
different stages and two different processes or do you program the
artistic design as well? I’m not sure how to draw the distinction. An
example would help.
Rails has a Model, View, Controller architecture. This means you have
different areas of your application code that are responsible for
different categories of tasks. The design of a website, falls under the
View. The views take the information fetched and processed by the rest
of your application and shows it in HTML form.
The Model represents your data. Every table in your database, or every
type of object is a Model. These handle reading and writing data to the
database, and other functions that pertain directly to your data.
The Controller handles incoming requests. When your application
recieves a web request from a browser, the controller fiqures out what
action to execute. That action then retrieves or manipulates data from
your models, and sets up a set of data to be passed to the view so that
in can be rendered in HTML.
In summary, the view is HTML with bits of dynamic code sprinkled in,
that where you put the traditional design of a site. The Controller and
Model, however, are pure ruby code and contain all the code for what
your application actually does.
Any info would help me greatly, and thanks for your time.