Hacker News new | ask | show | jobs
by fruiapps 5160 days ago
I was exactly in the same position few years back. I was a non computer science grad, but i had decent amount of coding experience and algorithm design, but only that. No theory courses in Networking, Operating System or even DBMS. I wanted to make web apps, and wanted it hard. So the few things i learnt were: you need to know basic HTML, CSS. Server Side Scripting: PHP/Python/Ruby Client Side Scripting: Javascript(jQuery is the new JavaScript) You should also know the terms like DNS, CNAME etc. so that you can put your content on a web server to start of with a shared hosting from any provider would be good.

But the above will only let you make very basic apps. If you want to make slightly more complex things, there are Content Management Solutions like Wordpress, Joomla or Drupal. (these are amongst the most popular ones, they have readymade plugins so if your only motive is to get a site up and running, they will serve the purpose.)

If you want more customization you might have to learn MVC frameworks. Here(http://blog.fruiapps.com/2012/04/Understanding-MVC-Architect...) i have written a basic tutorial on MVC. The popular frameworks are Ruby on Rails Django (Python) CodeIgnitor(PHP) BackBone (JS) My rule of thumb for deciding is: Get a hang of a server side scripting language(PHP/Python/Ruby), choose the framework in that particular language.

Another most important rule that you should keep in mind is: All that you want to do has been done, you need to assemble it your way!! Learn to copy, modify and paste to suit your needs. Don't be afraid of any implementation it will be out somewhere there. Thats it, hope it helps.

1 comments

Thanks a lot for your detailed, response. I will really look into the things that you have mentioned. Of all the different languages you have mentioned, python is my natural choice. What I have heard about python is that higher execution time makes it not suitable for bigger applications, but I know reddit, dropbox ,.etc are using python. How do you see it from your experience?
Python is fine.

Go with what you know already. Just add the client-side bits you need (html, etc.).

Django could be a good choice, but don't limit yourself to one language/framework.

Good luck.