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.