Link to home
Start Free TrialLog in
Avatar of Tom Lobb
Tom LobbFlag for Canada

asked on

How to learn about web development

I wrote an Access database about 18 years ago for the data entry of client data. Now I want to develop a web data entry system, so the clients can enter their own data. I have 45 years of traditional programming and Access experience. But I find developing for the web, very different. Can anyone suggest how I can go about learning how the web pieces work together, preferably with examples and how a framework is used. At some point, I'd be happy to pay for teaching, mentoring and support, but in the end I want to be able to support it myself. The application is very simple. There are over 100 clients to support; a few thousand records a month in total; monthly invoicing. It was suggested that I develop with PHP, MySQL and Javascript. I saw a course with Expert Exchange for using CakePHP, so I thought that I would start with that and see where to go after that.
ASKER CERTIFIED SOLUTION
Avatar of gr8gonzo
gr8gonzo
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
CakePHP... shudder...

Go setup a KimSufi server ($5-$30/month) for a fast + dedicated server.

Install Ubuntu Bionic + a LAMP Stack.

Then teach yourself WordPress. Stick with GeneratePress (theme) + Beaver (page builder).

If you run your own dedicated server, as a side effect you'll also learn about system admin.

Become a WordPress + LAMP Stack Guru + you'll be amazed about all the ways you can generate cash.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
take issue with "The PHP file is actually an HTML file that has PHP code added"
Yep, I figure people would take issue with various claims, but I was trying to approach it from how a new developer might perceive it, so there's a lot of over-simplifications and slight inaccuracies in there for the sake of keeping it simple for the OP. -shrug-

If you run your own dedicated server, as a side effect you'll also learn about system admin.
System admin should never be something you learn about as a "side effect." That's like saying that if you learn about building a car stereo and you build out a car with it, then you'll learn about how to build a car as a "side effect." I strongly recommend against trying to set up a dedicated server and learning sysadmin work if you're just learning how to write PHP code. Learn to crawl before you try to run. Learning how to be a system admin should be something that takes full focus - otherwise you're liable to set up a server that will perform terribly or get hijacked.

Then teach yourself WordPress
Again, I disagree here. WordPress is a really popular application and it has some great uses. Trying to convert it into an invoice / data entry application is like buying a computer so that you can empty it out, fill it with water, and use it as a fish aquarium. There's a lot of functionality within WordPress, and if you're not using it for what it's meant for, then you're incurring a huge amount of overhead and vulnerability (it's popular, so it's also a popular hacking target) for no good reason.

Plus, you'd be learning how to write PHP that is specifically meant for WordPress, so it would start silo-ing your development skills.

If you want to later get into general consulting work, then David's advice is good, but it's not really the appropriate approach for developing your data entry / invoicing application.
Avatar of Tom Lobb

ASKER

I appreciate all the input, thanks. When I said that the application is simple, this means no blogging, audio, video, YouTube, graphics, etc. (at least to start with and maybe for the first few versions). This may be the only web application that I'll ever write, so I likely won't have my own server. I plan to restrict the web data entry site to our clients and perhaps have something totally separate for marketing our application to the single occupation that could make use of it. I expect that eventually I would write all the code (HTML, PHP, JavaScript, CSS and anything else) directly. But in the beginning, if there are any code generators or other tools to help me learn, I'd at least consider them.

One suggestion that I found particularly helpful, was to not start with a framework. I use a Mac, so I thought that I would install MAMP, unless there's a compelling reason to use something else. So I need to learn how to set it up and use it. My comment about CakePHP, was solely to take the Expert Exchange course. If switching to something else like Laravel afterwards isn't difficult, I'm good to do that.

Thanks again to all of you.
All input was valuable. Thank you for making yourselves available in support of learners like myself.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I've never heard of low-code applications, so this is timely. After a brief search, OutSystems looks like it might be a good one to try. No matter what I use though, I want to be able to switch to doing all my own coding. I haven't found anything yet that talks about that. Also, the costs aren't obvious. This was a great suggestion.