Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm thinking of freelancing and building web sites in my free time.

I have experience in C#/ASP.NET, JavaScript/jQuery as well as HTML/CSS and SQL. Thus, I feel like I have sufficient web technologies knowledge to go down this path.

What I'm unsure of is if there are any tools which can be used to simplify the life of a freelance web dev. As an example, I once designed an e-commerce website from scratch as a University project, which took around 3 months of hard work to accomplish. The finished product was not even hosted, and I didn't delve into any security aspects. I never even hosted a website or database before!

What concerns me is that there are millions of sites out there which can for example be used to create an e-commerce site in minutes. Without having to bother with databases, security and other issues. You don't even need to know how to code in server-side technologies to get these sites up and running.

Do professional web developers actually use these tools? If a client had to request an e-commerce site (for example), how would a pro go about developing it? I hear a lot about CMS systems like Joomla and Wordpress, but I think my main problem is that I don't know much about the available tools (other than Visual Studio) and I wouldn't know where to get started.

Can anyone guide me in the right direction?

share|improve this question

closed as off-topic by gnat, GlenH7, MichaelT, Dan Pichelman, Robert Harvey Nov 21 '13 at 22:41

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, GlenH7, MichaelT, Dan Pichelman, Robert Harvey
If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

2 Answers

up vote 0 down vote accepted

Wordpress

It is cheap, fast, and pretty good. It has grown and taken a lot of pages on the web pretty quickly.

Wikipedia reports that according to Alexa, it is used for 14.7% of the top million websites, and 22% of new pages in 2011, and is the leading content management system.

http://en.wikipedia.org/wiki/WordPress

I have used it for simple stuff and found it pretty easy. I have seen demos that looked fantastic (and some no so much), and I believe there are premium themes and a boat load of plug-ins that provide broad and unique capability.

I think you can use a lot of web technologies with it, but it may have trouble playing well with C# .NET, and ASP.

Another option, given that it sounds like you have some investment in Microsoft technologies like C# would be Windows 8 / Visual Studio 2012 / Metro.
I think it can be used to lay down apps or web pages from templates, do data binding with XAML, JS, etc. because they say they are adopting open source technologies into their tools.

I recently saw a presentation by a guy from Google on Angular JS. It might have some learning curve, but what I saw certainly looked good in terms of exploiting HTML 5, separating view logic from business logic. It seemed to pretty graciously handle data binding as well.

Good luck in your quest for simple and productive tools with the desired level of flexibility and power.

share|improve this answer
    
Thanks, thats a great answer :) –  Freelance Aug 18 '12 at 11:25
add comment

For web, Linux is the de-facto standard, Windows is a 15% market share (according to Netcraft) so you could start by getting a copy of Eclipse (an OSS IDE) and looking at PHP for starters. This will get you into a lot of web code that is written out there. Install xdebug on your Apache webserver instance to host PHP and you can debug through the code so simply I thought I'd done something wrong. (I even did it on Windows - install XAMPP to get a dev system running and then just configure xdebug and then run your website by putting the localhost url into your eclipse php project!)

Once you've got that out of the way, you can begin some real web development (not that PHP is particularly bad, its very very easy, which is why its popular)..

At this point you can make your web apps from javascript (node.js is the cool new kid, try looking at express), or C++ (Microsoft is big on native code this decade, check out Casablanca or try cppCMS), or the last big super-cool, fast-productivity tool Ruby on Rails or stuff based on Python (Django seems to the the standard) or Java (I hear struts is big). Or you could do some boring old stuff in ASP.NET - just check the MS tutorials if you don't want to dabble in the myriad wonders of web development.

There's a lot of web frameworks out there.


As for dedicated tools, if you're creating websites for customers, you might be better advised to start with an existing tool such as Drupal or Joomla and build upon them. Drupal was used for the whitehouse.gov website, so you can see this is a very valid approach. 80% of the hard work will have been done for you like this, and as they're open source, you can either modify them yourself or look for modifications/addons others have created. Many of these CMSs already have ecommerce addons, or you could try looking at a dedicated ecommerce platform such as osCommerce, or ZenCart. If you're build full "corporate" websites you could look into things like Orange HRM, Horde, or Nuxeo.

However, 1 thing you must do is learn security. There are plenty of Linux hardening tutorials about, or you can hire people to harden your servers. At least learn the basics so you know the pitfalls and the potential problems that you might get when you're called out to fix a hacked site.

There's a lot of really good stuff out there, when I started learning this, it was an eye-opener how much, and how good some of it was. I loved getting into Linux web platforms, it was refreshing change from Windows-only systems so its worth the time taken to learn something new.

share|improve this answer
3  
What? If it's not PHP then it's not “real” web development? That's nonsense. And are you sure PHP is not particularly bad? –  svick Aug 18 '12 at 7:34
    
As much as I respect that there are other languages out there like PHP, I have devoted a lot of time and effort with ASP.NET and don't really want to throw that all away. –  Freelance Aug 18 '12 at 7:41
    
@svick : I didn't really mean that, just that PHP has a bad rep, and gets a lot of focus as a beginner's web tool, that's all. Nearly all my favourite web tools are written in PHP so it must be good. –  gbjbaanb Aug 18 '12 at 15:40
    
@gbjbaanb Yeah, and nearly all my favourite films are sci-fi, so it must be the best genre ever! It's not possible that I watch other genres less, so I might miss on some great films. And it's also not possible this is just my personal opinion that others might not share. –  svick Aug 18 '12 at 16:15
1  
If you already know PHP well you can still get plenty of value out of that investment of time. But I would never recommend anyone learn PHP fresh in 2012. –  Carson63000 Aug 19 '12 at 22:57
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.