Hi,
Marc Vanzegbroeck wrote:
Fortunately, it is an easy program to convert to. That allows me to get more used to web programming.
The program is used to test inputs and outputs in a chemical company after installing. So far it is just a simple database, where users get access to a certain part of the database that he is allowed to test. He have to fill in a form (GET-fields and comboboxes). There are also buttons on the dialog for sending OPC-commands to a process server, whereby different outputs are sent and read back to the form. If everything is OK, this is stored in the database.
For a programmer who builds management apps on Windows and wants to jump into web development, here are the 20 most important things to study, ranked by priority:
Core Fundamentals (1-5)
1. HTTP/HTTPS and Client-Server Architecture**
Understanding how web communication works, status codes, headers, cookies, and sessions. This is the foundation for everything else.
2. HTML5 and Semantic Web
Proper document structure, accessibility, basic SEO, and markup best practices.
3. CSS3 and Responsive Layout
Flexbox, Grid, media queries, and adaptive design. Including preprocessors like Sass/SCSS.
4. Modern JavaScript (ES6+)
Modern syntax, promises, async/await, modules, destructuring, arrow functions, and DOM manipulation.
5. Web Databases
SQL optimized for web, NoSQL (MongoDB), data modeling for web apps, and scalability concepts.
Backend and Architecture (6-10)
6. Main Backend Framework
Pick one and master it: Node.js/Express, Python/Django/Flask, C#/ASP.NET Core, Java/Spring Boot, or PHP/Laravel based on your background.
7. RESTful APIs and GraphQL
API design, versioning, documentation with Swagger/OpenAPI, JWT authentication, and security best practices.
8. Web Security
OWASP Top 10, XSS, CSRF, SQL injection, authentication, authorization, HTTPS, data sanitization.
9. State and Session Management
Cookies, localStorage, sessionStorage, JWT tokens, OAuth 2.0, distributed session handling.
10. Testing and Debugging
Unit testing, integration testing, browser dev tools, API testing, TDD/BDD approaches.
Advanced Frontend (11-15)
11. Modern Frontend Framework
React, Vue.js, or Angular. State management (Redux, Vuex), routing, reusable components.
12. Build Tools and Bundlers
Webpack, Vite, npm/yarn, Babel transpilation, minification, tree-shaking, module bundling.
13. Performance and Optimization
Lazy loading, code splitting, image optimization, CDN, caching strategies, Core Web Vitals.
14. PWA and Modern Web Technologies
Progressive Web Apps, Service Workers, modern Web APIs, offline functionality.
15. Version Control for Web
Git workflows specific to web development, branching strategies, basic CI/CD.
Infrastructure and Deployment (16-20)
16. Containerization and Deployment
Docker, Docker Compose, basic microservices concepts, cloud deployment.
17. Cloud Services
Basic AWS/Azure/GCP, hosting services, database as a service, cloud storage.
18. Monitoring and Logging
Error tracking, performance monitoring, analytics, structured logging, alerts.
19. CI/CD and Automation
GitHub Actions, GitLab CI, Jenkins, automated testing, deployment pipelines.
20. Scalable Architectures
Load balancing, caching (Redis), CDN, database scaling, microservices vs monoliths.
Learning Path Recommendation
Given your background in management applications, I'd suggest starting with points 1-5, then jumping to point 6 (choosing a familiar backend like Harbour), following up with 7-8 for security, and then tackling frontend with points 11-12.
The advantage you have is your experience with business logic and databases, which totally transfer over. The biggest shift will be adapting to HTTP's stateless model and the frontend/backend separation.
Your existing skills in data management, user workflows, and application architecture will give you a solid head start - you just need to learn the web-specific delivery mechanisms and tools.
If you want to make professional apps for clients, this is what you need to get started. Anyone who says otherwise is simply lying :D
C.