Beeing a webdeveloper

At the moment I don’t have a current Xojo web project, so I decided to wait with using Xojo Web 2.0 until we have a complete and stable version. What I read from this forum is that we are already on the right track with this development. I decided to take a course first to better understand all applied web techniques. Here is the syllabus of the online training that I will be doing and of course I want to keep using Xojo as a RAD environment.

HTML 5
· Learn the anatomy of HTML syntax to structure your websites.
· Understand the HTML boilerplate and HTML doctypes.
· How to structure text in HTML.
· How to structure HTML lists to create unordered and ordered lists.
· How to insert images using HTML
· How to create hyperlinks using anchor tags.
· Understand how to use HTML tables for content.
· How to use tables for layout.
· Learn HTML best practices.
· Understand about HTML forms and create a simple contact me form.
· HTML Divs and how to separate content for CSS styling.

CSS 3
· Understand what are cascading style sheets and how you can use it to style your website.
· How to use CSS selectors and properties.
· Learn about how to use inline, internal and external CSS.
· Understand CSS coding best practices.
· Learn about CSS sizing methods.
· Learn the anatomy of CSS syntax and structure.
· CSS specificity and implementing style hierarchy.
· Class vs. Ids and how to target each.
· CSS display and how to implement layout.
· How to use CSS static, relative and absolute positioning systems.
· Font styling using CSS and web safe fonts.
· Centering elements using CSS.
· Website design fundamentals and typography.
· How to use CSS float and clear.
· How combine CSS selectors and understand selector priority.

BOOTSTRAP 4
· Learn the fundamentals of implementing responsive web design.
· How to use Balsamiq to mockup and wireframe websites.
· The fundamentals of UI design for websites.
· How to install the Bootstrap framework.
· Understanding the Bootstrap grid layout system.
· How to use bootstrap containers to layout your website easily.
· Learn to use other Bootstrap components such as buttons.
· Adding symbols using Font Awesome.
· Learn to use Bootstrap carousels.
· Add Bootstrap cards to your website.
· Using Bootstrap navigation bars.

JAVASCRIPT
· The Fundamentals of Code
· Starting code with alerts and prompts.
· Understand Variables and Data Types in JavaScript
· Variable naming in JS
· Working with strings and numbers
· Randomisation and logical operators
· Loops, collections and Conditionals.
· Functions and invocation patterns
· Discussion of ECMAScripts
· Intermediate JavaScript
· Learn to use JS Expressions, Operators, Statements and Declarations
· Object-Oriented Programming
· JS Objects and Prototypes
· ‘This’, Scope and Closures
· Objects and Prototypes
· Refactoring and Debugging
· Arrow Functions
· Map/Filter/Reduce
· Find/FindOne/Findlndex
· Import/Export and Modules
· Object and Array Destructuring
· Spread Operator

DOM
· Learn the tree structure of HTML based websites.
· Traverse through the document using object notation.
· Separation of concerns and coding best practices.
· Manipulate and change the HTML elements using your understanding of the DOM.

JQUERY
· Installing and using the jQuery framework.
· Learning about jQuery functionality
· Introduction to functions in jQuery
· Manipulating text, styles and attributes with jQuery
· Create animations and customisations with jQuery
· Use your jQuery knowledge to make your website interactive
· Responding to user initiated events with jQuery

UNIX COMMANDLINE
· How to use basic bash commands in a Unix/Linux Terminal.
· How to manipulate files and folders without needing a graphical user interface.
· How to download and install to your computer using command line.

GITHUB AND VERSION CONTROL
· Using git for version control and collaboration
· Git forking, branching and cloning
· Using GitHub as a remote repository
· Checkout and rolling back changes with git

NODE JS
· Explore the components of back-end development, working with an MVC framework
· Apply concepts like data types, objects, methods, object-oriented programming, and classes in the context of back-end development.
· Server-Side JavaScript
· Using Node on the command line
· NPM
· JavaScript Build Processes
· Event Loop and Emitters
· File System Interaction
· Modules
· Native Node drivers

EXPRESS JS
· Understand how to install and use express in Node applications
· Creating Node and Express based servers
· RESTful Routing with Express
· Understand and use middleware for Node applications

API
· Understand what APIs are and how they work.
· HTTP in Depth
· Calling APIs
· Reading API documentation
· Basic API Authentication
· Server to server communication JSON vs. XML, sending data over the wire.

EJS
· Understand what EJS does and how to use it with Node and Express.
· Templating with EJS
· Running code in EJS templates
· Passing data from server to template and vice versa
· Creating layouts/partials with EJS

DATABASE
· Data Relationships
· Designing a Data Model
· Relational Databases
· Alternative Databases
· Entity Relationship Modelling (ERM) and Object Relational Mapping (ORM)
· Working with Database Schemas
· Create-Read-Update-Destroy (CRUD)
· Database Joins
· Querying SQL databases

NO SQL DATABASE
· Serialization
· How to model NoSQL data
· Document Databases (MongoDB)
· Create-Read-Update-Destroy (CRUD)
· NoSQL Best Practices
· Mongo Shell and command line use
· Installing MongoDB
· Mapping relationships with MongoDB
· Using an object-data modelling library (Mongoose) to work easily with your data.

DEPLOYMENT
· Understand hosting and deployment.
· Hosting static websites with GitHub Pages.
· Deploying server based applications with Heroku.
· Deploying Databases with Mongo Atlas.

I’m sure you already knows a lot of this !

Hopefully yes. But it’s always good to deepen your knowledge to really understand how your web app works. And it teaches me to know what to use Xojo for and what not.

Good course, but node centric. But… it is a way to understand some features in a more advanced way even if you don’t use node at end.