There are 3 core web developer languages:
Web Development - someone who has a strong competency in front end design with basic competency in backend programming. Focuses on blogs or websites. Websites don't focus on back end with lots of calculations, information, and processing. Focuses more on how it looks with basic functions. Graphic and user interface design. LAMP stack or WordPress development.
Software Engineering - heavy on back end development and some front-end. No UI or graphic design.
Fullstack developers - very rare; good at both front and back end development.
Full Stack Designer - A graphic designer that can also program. Less people on your team as they can do more; Design can be better captured in the final product;
Hackers - implying that someone knows basic back end/front end. No traditional backgrounds. Not focused on usability. Opposite of production developers. Ugly but it works.
HTML, CSS, Javascript. Setting up feedback loops and able to see it. Interaction with Ajax Calls. Learn HTML first, then download websites and change the CSS. Understand nesting and inheritance. Be able to create it from scratch and be able to edit existing sites. CodeAcademy helps with learning javascript. Javascript is all about action and events and interaction. Bento is also a good resource. Learn jQuery, Angular, React
Pick the language you want to learn. Python, Ruby, PHP, Java; Pick it based on the industry or the company you want to work for;
Frameworks are a predefined structure that programmers can build upon by changing existing code or adding on code; Programming is an instructions list and Frameworks are essentially pre-made code. Essentially the Frameworks function is similar to coding templates for specific languages.
Front-end Frameworks; HTML, CSS, Javascript - Template websites provide a CSS sheet and a Grid system/Layout (style sheet that lets you put objects such as buttons or images into columns), UI pack/kit (buttons & objects) will give a premade set of buttons, headers, sliders, components, frames, submitting forms, popups, search boxes, error messages. Interaction snippets are pieces of action code or bits of javascript. Bootstrap is a very popular front end framework.
Back-end Frameworks - When you set up the server side files, frameworks help set up the file and folder structure. CSS, Images, APIs, Models, Themes; They will give pre-made code for functions. Example, every time you pull from a database you have to write a query to pull the information. The frameworks will provide you with a template for that. Frameworks might index the information and give the system where you can search it. Downloading files. Optimizing images, saving and recalling them. Setting up APIs or setting up a payment terminal. Frameworks will provide structure. Full frameworks give a lot of premade functions and support for a wide variety of use cases. Micro-frameworks focus on core functions, smaller and easier to maintain.
IDEs provide a template system so that you can program faster; They're similar to frameworks; programs that programmers use to write programs. They include tools that make it easier, has spell check for code or autocomplete features. They help developers organize and structure files before they're uploaded to a webserver; sometimes it includes version control. They're an automatic development environment where you can write code and test it before you can upload it to a website. IDEs can be expensive or adds extra code based on a template.
Framework Examples: Visual Studio for low level programming; Xcode for iOS; Java Netbeans; PHPStorm
**Libraries function similar as an IDE or Framework; ReactJS and JQuery; HandleBars & Mustache.
Layer that runs outside of your normal code; basically a mini application that runs on top of the larger application that you're building and used to facilitate the transfer of information to external apps that ask for them; they can handle transfers & fulfill info requests; they limit what other apps can ask for; APIs give out details in the best way to access the information you have so it doesn't make a mess or slow down the system of the host. There social media APIs function to let you login to the account of a website and provide the extra data from the social media sites; Less building, more information requests; APIs can be a business model; crunchbase is a business model that has a bunch of API's that you can use; Menu = API, placing an order = Executing an API Call, Food = Systems response. You still need the switch code to reference the API
Massive applications that can be installed on a web server and then let a website owner create and manage their website through intuitive and non-programmatic administration panels. Wordpress & Drupal focus on newspapers, blogs, forums, Magento focuses on E-Commerce including Inventory management, SKUs, product imagery; all 3 are built in PHP. Allows the owner to use template websites that can easily add and manage functions such as tracking analytics, sharing information, commenting, storing user submitted content. Site owner & Site contributors
WordPress focuses on Themes. Themes affect the overall look.
Plugins are miniature application that plugs into WordPress. They mostly focus on popups.
Extensions - a large piece of another code base you're attaching.
The Free CMS Websites acted like platforms while using their site and everything made was stored on their servers or sometimes listed directly on their domain.
A collection of functions and data that can be grouped into what is called an “object.” Then when you are programming and you need to access some of the information in a class (not object), it's called “instantiation.” It means that the program being written has access to a large chunk of code stored somewhere else. Save time by grouping data and functions together; apply attributes broadly across objects. You create a class and everything in this object is going to be output in a certain way or format. You make mega functions that you call in later to save time programming.
The group of classes would apply to the object for each product. In eCommerce, it would be the item for sale, if it's social media then the object = person.
OOP scales better than Procedural paradigm (the standard way of developing something; Do this, send this, call this, send this, output this; scale is growth based on users.)
Other Programming Paradigms; Functional, Imperative, Logical, Procedural
Programming Language Concepts; Execution Order, Design Space, Language Design, Higher Order Programming and Functions, Implementation Advantages and Drawbacks. Other related topics would be Process Management, Process Scheduling, Concurrency Issues, CPU Scheduling, Memory Management, Virtual Memory, Mass Storage Systems, Input/Output System
Integration refers to when you merge/collaborate code with multiple people or large existing code like a CMS. It's meant for efficiency.
Generally you make an elaborate server setup that can automatically do all of the integrations for you. It allows you to pretty much check progress and make sure that all the parts function together from a technical perspective. 2 different servers; one is called a version control server and the other is a build server. People will take what they've been working on throughout the day and upload it onto the version control server. The build server then checks the version control server and sees if the code executes properly or if there are errors or general issues. Then everyone gets together and troubleshoots it. Generally done with larger companies.
With smaller companies you put it on the test and see how it operates in a browser and with users and if it works then you move it over in batches to the live server which is what people see when they go to the URL.
What people used to do is to give separate instructions depending on what screen is loading. There's an app that detects the size of the screen that's viewing it and it automatically stretches or contracts to fit the screen. You can tell responsive design has been used based on the sites usage of white space. There's a lot more buffer zone between objects; Floating code is used; Lots of bug testing; 5 major browsers in different interpretations.
Absolute has fixed object positions based on pixels.
Relative is based on where the other elements on the page are.
Native app is written in the code that the mobile OS recognizes and accepts; native spp for iOS would be in Objective C; Android is written in Java.
Web Apps are websites shrunk down to fit and work on a smaller screen that is packaged to look like an app.
Hybrid App is an app written in basic web code that goes into a system like Adobe PhoneGap which functions as a compiler that takes that code, compiles it and interprets it in a way that every mobile OS can understand. Downsides are that it lacks interactivity. Harder to control interactivity, less core functions as it's underdeveloped. Netflix uses Hybrid
Like Adobe PhoneGap; Adobe Air takes the web apps and compiles it for your desktop.
You can have Saas on PaaS and then Iaas as a stack. Difference between software and a product; product you own, service you don't. Data that is stored and accessed on a different device or server is considered cloud based.
SaaS - Software as a Service; the company houses it for them, maintains it for them and leases it out to the user. Web version of the system. Some companies like Adobe make logging into the software only accessible through the web and have the software downloaded to check if you paid to use it. If you have it, shut it off and prevents you from using it. Canva is a simplified version of photoshop. Charge less, but more often and for longer. Access your files anywhere. Continuous updating
PaaS - Platform as a Service; Set of tools, resources, software that come together to let you build software on top of it. ie Facebook or Slack; designed to assist in building software; AWS, Microsoft Azure (.NET framework, Microsoft SQL, Live Services), Heroku.
IaaS - Infrastructure as a service - 90% Web Storage like Amazon EC2; Security and firewalling; Routing and network services; Maintenance and load balancing; services like that automatically scale based on your users so that you don't go offline instead of your server overloading.
You reference technology in the form of stacks and you have things on platforms. So first floor would be the OS that's acting as an interpreter, next level would be a browser, then the websites would be the next level. That's how programs would work. When you have technologies that reference each other, that would be called a stack. Stacks are a specific series of technologies.
General Stack format would be Operating System -> Server System -> Database -> Back-end Language; by default everyone uses HTML, JS, CSS as front end so that doesn't need to be specified.
LAMP Stack; Linux - OS, Apache - server software, MySQL - database (user form data or profile info), PHP; Used most often and easiest to learn.
WINS; Windows server -> IIS server (host) -> .NET -> Microsoft SQL Server; good for companies that have security concerns or finance. Great for big companies, expensive but slow.
MEAN Stack; Mongo DB (database system) , Express (back-end web) , Angular.js (front end framework), Node.js (back-end runtime environment); learn for personal preference
FullStack Javascript - Interaction Technology that works on your browser but not your server. Node.js is a system that allows you to create an environment on your browser and then test your javascript. It's not a library or a framework. This allows you to do Front-End and Back-end functions like querying databases, or making calculations, or pulling information from APIs.
Asynchronous Javascript; multi-threading, the javascript will be running processes simultaneously so you can be pulling information from the back-end and checking basic validation from the front end. It doesn't work very well with databases as it will be pulling information all the time. Updates pages instantly.
$value = array ('string1' 'string2' 'string3') If input () == value; == means i equal toPrint $value; this will return 'string1' 'string2' 'string3' on the screen
**Things to consider for eCommerce: Accepting payment in a different currency, How to detect user fraud or pick up on a bad credit card, Routinely offer sales on certain items to boost sales.