Learning Web Development

eitai2001

Expert Member
Joined
Aug 17, 2007
Messages
4,329
Reaction score
2
Location
Jhb
Hi Guys.

I want to learn to develop my own web applications. But I have no idea where to start.

I only have a basic knowledge of editing php, but not creating anything new. I search for courses and stuff online, but keep coming across coding tutorials.

I want to understand things at high-level and basic principles, and not just have copy this code for your app to work kind of stuff.

Now I would love to go to a BSC course at varsity, but that is definitely out of the question for me at least for the next few years.

I know some of you on this forum are development gods and did not go to university (in fact some are still in school) ... so what are the best resources for me to learn something like PHP together with a framework such as Zend or something?

I have ideas I want to make real and unfortunately I do not have developer friends with time or interest in these ideas nor money to develop them ... so I need to do it myself.

I'm not expecting to be a PHP expert by the end of the week ... I just want help with good resources to learn PHP properly, not a half-assed rubbish tutorial attempt.

Regards

Itai
 
And I also want to learn the other necessary complimentary languages such as MySQL and Java, etc ...

And would also like some good resources on how to properly plan and develop a software application ... i.e. using milestones, tasks, flowcharts, etc

At the end of the day I want to be introduced to everything needed to be able to build full web applications. I understand it will take me a few months to learn.
 
Learning the whole process of web development? Thats a big ask but definitely possibly but not going to happen overnight by reading one book. The best thing is to just do it. Either find an application you want to build and start building, learning as you go. Experience is the best teacher.

Saying that a very good start and how I started (me and friend, in varsity while they were teaching VB) is get a good physical book with tutorials along the way in each chapter.

What is your end goal if I may ask? To get a job? To develop an application and make a business out of it? Or just for fun? Answering that will tell you what your next step should be, for example, study or get certificate if looking for job, especially for project management side.
 
It's so I can develop stuff for myself ... I have a BCom Accounting honours for getting jobs which tends to work well in the business world ... but I'm an entrepreneural type, and so I want to be able to build my idea's.

I definitely agree on not learning it overnight ... and I don't want to do a half ass job of learning either ... I know there's more to programming than just the language, like methadologies, underlying principles, etc. I want to learn the full toot. And then I want to get experienced in a framework ... possibly Zend.

I found a nice video tutorial collection that will get me going on the basics (at the end of each chapter, they give you a bunch of problems to solve, and then go through the solutions) ... but I still need to learn the methadologies and stuff so I approach projects the right way.
 
Itunes University has a lot of tutorials on programming. There are a couple from MIT university (but I think those are more specialised). I've checked out their paralel programming one, which was quite informative, so the others should be great too. And I've downloaded some from Standford university last night, not sure what they are like yet. They cover methodologies and paradigms.
 
Focus on HTML, CSS and Javascript first. I recommend www.W3schools.com for starting.

Then the best thing to start on would be to study how OOP(object orientated programming ) works imho. Do some Googleing on PHP OOP and take it from there. When you know how that works you'll have a nice base to start from. Other languages vary mostly only on syntax anyway. Well not really, but more or less. I recommend php because you say that you already have some familiarity with it so you'll focus more on the methodology rather than the syntax.

After that get your hands on the CakePHP or CodeIgniter frameworks and study how they work. You'll learn how to properly plan, structure and develop a software application by just seeing how they where built.

Oh and something you haven't mentioned but helps me is to stay motivated. The steep learning curve can get to you sometimes. So spend some time here http://news.ycombinator.com/ and here http://mixergy.com/ and here http://www.fastcompany.com/ to stay excited.
Good luck, I embarked on the same journey a year ago. :D
 
Last edited:
Focus on HTML, CSS and Javascript first. I recommend www.W3schools.com for starting.

Then the best thing to start on would be to study how OOP(object orientated programming ) works imho. Do some Googleing on PHP OOP and take it from there. When you know how that works you'll have a nice base to start from. Other languages vary mostly only on syntax anyway. Well not really, but more or less. I recommend php because you say that you already have some familiarity with it so you'll focus more on the methodology rather than the syntax.

After that get your hands on the CakePHP or CodeIgniter frameworks and study how they work. You'll learn how to properly plan, structure and develop a software application by just seeing how they where built.

Oh and something you haven't mentioned but helps me is to stay motivated. The steep learning curve can get to you sometimes. So spend some time here http://news.ycombinator.com/ and here http://mixergy.com/ and here http://www.fastcompany.com/ to stay excited.
Good luck, I embarked on the same journey a year ago. :D

I have a fairly good knowledge of HTML and CSS ... not Javascript though.
It really is a learning curve though :P
 
I have a fairly good knowledge of HTML and CSS ... not Javascript though.
It really is a learning curve though :P

IMO if you have good knowledge of HTML and CSS then you have a good grounding in laying out a basic web application. I say this only because those skills provide a good grounding for developing in a browser. You still have lots of exciting stuff to learn in the development of actual software: from physical coding to design and best practices to methodologies. If I were you starting out, considering how much choice there is in the market (just goodle "programming language"), I would pick a language and stick with it for a while: it's easy to become a jack of all trades but a master of none of them. Obviously you'll want to pick a language that can be used in web development: no point choosing Delphi :) Once you've chosen your language of choice you'll need to become comfortable using it. Either get online tutorials or a highly recommended book although steer clear of reference texts: these are great once you're comfortable in the language but not so for starting out. Next find out what frameworks are available for you to use. Some of them might be cross-language in which case that's a bonus. Once you know which ones are available, choose one or two that provide the most coverage in terms of functionality, offer the most support (not necessarily formal, just online assistance from knowledgable users can be a lifesaver) and are the most extensively used (no need to learn stuff if it's not actually used in the marketplace). This should keep you busy for a while ... :D
 
Forgot to ask, when you refer to web development, do you mean front-end (i.e. user interface) or back-end (i.e. service interface)?
 
What Geriatrix said :) ... for example ... I wanted to be able to create a website like Smokoo.co.za back in 2009, cause I saw it on the American side and thought it would be a hit here. I was going to buy the premade version but didn't like it ... and couldn't find a developer that wanted to partner with me.

Now it's too late to enter this market, but I want to be prepared for the next surge whatever it is ... at current, Smokoo made R90,000 profit on an iPad the other day just as an idea ;) ... I don't want to have to rely on anyone else, I want to be able to build this sort of stuff myself.
 
Now it's too late to enter this market, but I want to be prepared for the next surge whatever it is ... at current, Smokoo made R90,000 profit on an iPad the other day just as an idea ;) ... I don't want to have to rely on anyone else, I want to be able to build this sort of stuff myself.
Just a comment here. I'm in the same position as you. I'm working on a couple of sites at the moment and I can't find a technical founder either. That also forced me to jump into development myself.

But don't underestimate the complexity of web app development. Keep on looking for a good developer partner because believe me, you are vastly underestimating how difficult it is to build a web app, especially for someone who's just about to wet his feet with coding.

Nevermind maintaining it, running and optimizing a server, doing trouble shooting when something goes wrong on the interface side with IE and Safari. Or just general trouble shooting when it ****s out on some users but not others. There're things you're currently not even considering. Developing an administrative back end. Security. Email and accounts. The legal stuff. :eek:

For instance, think of Twitter. Simple service right? Join post a message, others who join can view message. Well go look up how many employees they have. What infrastructure they have to maintain.How many departments there are to do that. It'll scare the crap out of you :D.
 
Last edited:
Agreed ... Even guys like Zuckerberg need their Development partners ... but when I have something to show ... I can be a lot more persuasive :D
 
My feel is that code is code. What you write it in should be the least of your worries. Choose the best tool at your disposal for a specific task.

Learn something backend; anything, be it PHP, Java, Python...

Once you have a good understanding of how things tend to fit together, you should start learning about enterprise integration patterns (aka design patterns). Basically the idea is that, whatever you want to build, you can break it down into various smaller problems. And all those smaller problems are usually encountered time and time again in practice. That's where design patterns come in... There's usually a mostly accepted "best" way of doing things.

If you have good knowledge of syntax and integration patterns, you'll be able to prototype pretty much anything within a very short time.

My personal suggestion is to hit Java hard. Now before everyone flames me, my main reason for saying this is that it exposes you to a ridiculously broad range of topics and frameworks.
 
My personal suggestion is to hit Java hard. Now before everyone flames me, my main reason for saying this is that it exposes you to a ridiculously broad range of topics and frameworks.

I won't flame you at all - it's a very good recommendation. I started off with Java to learn OOP principles and from there it was very easy to migrate to other technologies.
 
Well I'm basically halfway through the PHP video tutorials ... moving onto interfacing with basic SQL soon. Then perhaps will try find some good Java video tutorials, and then learn OOP, and from there frameworks and what you said.
I don't expect this to be overnight ... perhaps a good few months ... but will be a bit longer, because January is dedicated to my board exam and February / March is for my PPL Subjects.
 
Could you provide a resource for Enterprise Integration Patterns ... I looked on google, but wasn't sure what I should be looking for and the main link is a book.
 
Aren't Java web apps/sites difficult to host (compared to, e.g., PHP or ASP.NET)? Never used jsp, or whatever it is called now. I suppose if it's only for learning, hosting isn't a concern.
 
Could you provide a resource for Enterprise Integration Patterns ... I looked on google, but wasn't sure what I should be looking for and the main link is a book.

That's where the term was coined. To be honest, you're better off looking for design patterns. Searching for design pattern references will give you fairly low-level information, whereas integration patterns will give you high-level information. The idea is to read a LOT and attempt to combine these ideas into one unified approach to development.

In all honesty, getting good at it takes actual practice more than simply reading and trying; until you've encountered a problem for real and realised "ooh, I can do xyz", you won't REALLY take it in and see the value. Synthetic prototyping can only take you so far.

Aren't Java web apps/sites difficult to host (compared to, e.g., PHP or ASP.NET)? Never used jsp, or whatever it is called now. I suppose if it's only for learning, hosting isn't a concern.

Sort of...

They're tough because generally, your average host doesn't want to shell out for something like a Vega, or even Zing. And your average person learning how to do these things isn't that keen to shell out for dedicated hosting for these "toy" applications. But to be honest, the kind of web apps that make use of Java are, in practice, hosted on your own servers, on which you have complete control. Garbage collection on heavily loaded applications can be a problem in Java without Vega/Zing, too; another reason why many hosts shy away.

For learning, there's nothing wrong with hosting your stuff locally. In fact, I find that it helps people learn a lot faster, as they're more heavily involved in the complete process, right through to deployment.

But as I mentioned earlier, Java isn't the be-all and end-all; rather use whatever is best suited to the task.
 
Top
Sign up to the MyBroadband newsletter
X