Programming

Things I wish someone had explained about code, Part II

Yesterday I shared some basic terms that will help you understand a conversation about code and programming. Today I’m going to get into a smorgasbord of terms I definitely had to look up the first time.

 

Frameworks

Javascript MV* Framework: Model-view-wildcard framework. Examples include AngularJS and Ember, and they are another way to speed up the process of making a web application with Javascript.

Bootstrap: It uses HTML, CSS and Javascript to help with responsive development. The downside is that it also has a very distinct look if you use to built in styles.

 

Github and Git

Git: saves your code as it is in that present moment. This way if you mess everything up, you can go back to your most recent version.Without using Github this is saved locally.

Github: saves your code online. There is also a great community of programmers who use github to work on projects together. See FOSS.

 

UX/UI

User experience/ user interface: not code, but very important to a website. The user interface is what the user interacts with on the site. The user experience is how that interface impacts their sense and use of the site.

HCI: Human centered design: This is a principle for UX/UI. The idea is to remember that what you’re creating is meant for people and therefore how they will use it is the most important consideration.

 

Assorted others:

Sass: A CSS preprocessor. Sass looks a lot like CSS, but has added functionality to speed up and better organize styles like variables, the ability to nest styles, and mixins. A Sass compiler then converts it into CSS that the browser can interpret.

FOSS: free and open source: Open source means that the source code is available for the public to see and edit to their own purposes. This is a big movement in the development community and is great because it encourages collaboration.

RESTful: Representational State Transfer: Basically this is how data in a web application can be retrieved, added, updated and deleted. This works on the line of using Javascript for both client-side and server-side. It is implemented in GET, POST, PUT and DELETE requests.

MVC: Model – view –controller. This is an explanation of how an interactive web application works. The user interacts with the site through the controller which changes the model which updates the view that the user sees.


Things I wish someone had explained to me about code. Part I

Entering the world of code is definitely fun, but also a bit intimidating when you first start. When you start talking to programmers, they jump into a explanations using terms and abbreviations you’ve never heard of or don’t really understand. I still spend a bunch of time researching whenever I’m introduced to a new topic, trying to make sure I understand what it means. So this post is for anyone who’s still figuring out a lot of the basics.

We’ll start out with the basic languages:

HTML: Hypertext markup language, the bones of a web page.

CSS: cascading style sheet, makes the page look pretty

Javascript: The popular programming language used for interaction on the page, can access and change elements of the page via the DOM (see below). Javascript can be used on both the client-side and the server-side.

jQuery: A library of prewritten Javascript functions. Can save you a lot of time so that you don’t have to write all the code yourself.

*DOM: Document Object Model. How the HTML is loaded into the browser and then able to be dynamically changed by Javascript or back-end code. This how a blog is able to input new content into a template without creating a new html page from scratch.

 

Another very important distinction is between front-end developers and back-end developers.

Front-end: The code for what the user sees on the site. HTML, CSS and Javascript are the languages for this. What this code creates is all client-side.

Back-end: The code used to build the functionality of the site and store all the relevant data that passes through the site. This code can be PHP, Java, SQL, etc. All this work is server-side.

Full-stack developer: This would be a developer who can do both front and back-end coding. There are different stacks, or compatible languages, that a full-stack developer may know. For instance, I work with MEAN: MongoDB, ExpressJS, AngularJS and Node.js. Through these languages I can control a web application on both the client side and the server side. Another popular stack is LAMP: Linux, Apache, MySQL and PHP.

For more information on the distinctions between front-end, back-end and full-stack developers, check out this article.

Tomorrow I’ll be posting the second installment of this with more confusing acronyms like UX/UI, MVC and OOP!