Tech 101

What We'll Cover

  • Terms & Technologies

    ACRONYMS! oh my!
  • How the web works

    Servers, and clients, and networks!
  • Building a web site

    Languages, considerations, UX & IA, tools
  • Web development careers

    Team structure, becoming a developer

What to Expect

  • This is a survey of a very broad topic
  • Get a sense of what you'd like to know more about
  • Have fun! (and ask questions!!)

Frontend: What you see on a web page
the design, the visual interactions, the layout.

Backend: The behind-the-scenes portion of a web site
what makes the site work, what stores and handles the information: the server and the database

When we say front end, we are talking about...

A browser renders a web page by interpreting code that combines:

  • HTMLthe structure of your content
  • CSSthe presentation of your content
  • JavaScriptthe programming language browsers understand

what HTML looks like

this example is going to be very meta

When we talk about the back end, we mean...

Code on the server side to control the flow of information and make the app do what it is supposed to do:
Ruby, Python, PHP, Java, .NET, Node
...optionally a framework to facilitate the structure of the app, typically MVC:
Rails, Django, Zend Framework
And a database to store the information a site or app needs:
MySQL, PostgreSQL, MongoDB, noSQL

Development Terms

Text Editor
A program for creating / editing plain text files.
Sublime Text, Text Mate, Notepad, Vim, Emacs

IDE: Integrated Development Environment
Software meant to support the entire development process.
text editing, automation, debugging, compilation, etc.

CMS: Content Management System
An application that allows management of site content from a central interface.
WordPress, Joomla, Drupal, Concrete5

WYSIWYG: What You See Is What You Get
A visual markup editor intended for those who don't know how to code.
Like Microsoft Word, but for the web. Often used in CMSs.

Networking Terms

IP Address: Internet Protocol Address
A unique address for a computer or a server on a network.
Four numbers between 0-255 separated by dots: 54.243.253.118 or 127.0.0.1

Domain Name
A unique name that identifies an internet resource, like a website.
www.adwerx.com, google.com

DNS: Domain Name Service
A directory that ties domain names to IPs, allowing connection to websites via URLs.

URL: Uniform Resource Locator
A unique character string that refers to a specific resource on the web.
http://adwerx.com/realtor

Web / Hosting Server
A computer system that holds website code and processes requests from the web.

"Buzz" Terms

SEO: Search Engine Optimization
The process of increasing your web site's perceived value to search engine
algorithms, thereby raising its rank in search results

API: Application Programming Interface
A set of programming instructions for accessing a web-based application.
Twitter, Facebook, Google Maps, Meetup

The Cloud
Services and technology that offer remote storage,
processing, or other functionality
by way of the internet.

Open Source
A code that is free for anyone to use or modify. Contributions are encouraged.
Perl, jQuery, Bootstrap, Font Awesome

How does the web work?

Loading a Web Page

  1. Enter a URL into your browser's address bar.
  2. DNS connects you to the hosting server.
  3. The server processes the request and sends back the webpage resources for your computer to display.
  4. Your browser puts all the resources together to render the webpage.

    That's it.

Clients vs. Servers

Clients make requests. Servers fulfill them.

Client is most-often a browser
search engine crawlers, command line interfaces,
and other applications can also behave as clients.

Server is a computer
And the collection of software it contains.
Typically, larger and more powerful than PCs.

Languages & Tools
for Development

Client-Side vs. Server-Side Tools

Client-Side

  • HTML
  • CSS
  • JavaScript
  • Flash
  • Images*

Sever-Side

  • PHP
  • Perl
  • Python
  • Ruby
  • .Net
  • Java
  • ColdFusion
  • Sass
  • CoffeeScript
  • JavaScript (Node.js)
  • Databases*
* Not languages

Java != JavaScript

Java

  • Server-Side
  • Requires special parser (JVM)
  • Object-oriented
  • By Sun Microsystems

JavaScript

  • Client-Side (primarily)
  • Parsed by any browser
  • Procedural (primarily)
  • By Netscape

Building a Web Site

Considerations Before Building

  • What is the purpose of the site?
  • Who is your audience?
  • How / Who will build / design / test / support / etc.?
  • What's the domain name and where will you host it?
    • Domain >= $10 per year
    • Hosting >= $60 per year

Information Architecture & User Experience

Information Architecture (IA) is the process of organizing and labelling website content in an intuitive, accessible way.

User Experience (UX) is examining how users feel when interacting with an interface.

Benefits
  • Deepen engagement
  • Increase conversion
  • Raise satisfaction
  • Bring users back

Responsive Web Design

The practice of building a single website that
works across all devices and screen sizes.

Provide an optimal and intuitive experience for all users.

Ex. bostonglobe.com

Three Components
  1. Fluid Layout
  2. Fluid Media
  3. Media Queries

Occasionally, entire features will be toggled on / off for the display.

Web Standards

Developing in a way that is consistent with current development methodologies and in a way that will ensure the highest level of browser compatibility and performance.

  • Valid HTML, CSS, and JavaScript syntax
  • Accessibility Requirements / Enhancements
    Content for screenreaders, colors for the colorblind.
  • Uses semantic formats and technologies
    Structure and identify data. Help create a "Web of Data."
  • Valid meta data
    Page title, page description (for search engines).
  • Proper character encoding

Developer Tools

Text Editor

  • Text Editor
    SublimeText, Notepad++, Vim, Atom

The Terminal

The command line. That thing that looks like something from The Matrix.

the command line

Other Tools of the Trade

  • Version Control
    Keep a history of all your code changes.
    Git, Subversion, CVS
  • FTP: File Transfer Protocol | SSH | SCP
    Get your files on a server
    WinSCP, Cyberduck, CoffeeCup FTP
  • Image Editor
    Maybe. Depends on the complexity and design of your site.
    Sketch, Illustrator,Photoshop

Want to learn more?

Join the tech community locally and online.

  • Meetup Groups
  • Hackathons
  • Conferences
  • Code & Coffees

Questions?

?