xenmaster's back end web development list

This list is inspired by the Kamran Ahmed's "2019 Developer Roadmap." https://github.com/kamranahmedse/developer-roadmap

Without further ado, my take on the most important technologies to learn for back-end web development in 2019!


  • The Path of Node

    If you already know Javascript, here are the tools you will need to bring it to the back-end! Listed here are the following: languages/platform, Integrated Development Environment, Package Manager, Testing Frameworks, and backend website framework, in that order.

  • JavaScript

    Free Mac Windows Linux Web Android ... iPhone Chrome OS BSD iPad AROS Haiku Website

    JavaScript (sometimes shortened to JS) is a lightweight, interpreted, object-oriented language with first-class functions, most known as the scripting language for Web pages, but also used in many non-browser environments. JavaScript was formalized in the ECMAScript language standard.

     

    JavaScript icon
  • Node.js

    Free Mac Windows Linux BSD Self-Hosted Website

    Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications.

    Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

     

    Node.js icon
  • WebStorm

    Commercial Mac Windows Linux Website

    JetBrains WebStorm is a commercial IDE for JavaScript, CSS & HTML built on JetBrains' IntelliJ IDEA platform.
    WebStorm provides automatic code completion, on-the-fly code analysis, refactoring support and VCS integration.

     

    WebStorm icon
  • npm

    Free Web Website

    npm is a package manager for Node.js that is run through the command line and manages dependencies for an application. It is the predominant package manager for Node.js.

     

    npm icon
  • Jasmine

    Free Mac Windows Linux Website

    Jasmine is an open source testing framework for JavaScript. It aims to run on any JavaScript-enabled platform, to not intrude on the application nor the IDE, and to have easy-to-read syntax.

     

    Jasmine icon
  • Mocha

    Free Mac Windows Linux Website

    Mocha is a feature-rich JavaScript test framework running on node.js and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.

     

    Mocha icon
  • The Path of Python

    If you are interested in learning Python or know it already, here are the tools you will need to bring it to the back-end! Listed here are the following: languages/platform, Integrated Development Environment, Package Manager, and backend website framework, in that order. Note that testing frameworks "UnitTest" and "PyTest" are available (but don't have entries on this site) and are not specific to web development.

  • Python

    Free Mac Windows Linux S60 BSD ... AROS Haiku AmigaOS OpenSolaris MorphOS Website

    Python is an interpreted, interactive, object-oriented, extensible programming language. It provides an extraordinary combination of clarity and versatility, and is free and comprehensively ported.

     

    Python icon
  • PyCharm

    Freemium Mac Windows Linux BSD Website

    Python and Django IDE with refactorings, code completion, on-the-fly code analysis and other features, including version control integration, deployment, integration with issue trackers, and remote debugging.
    There is also an open source version, PyCharm Community Edition, which has some limitations: it does not support database/SQL, UML diagrams, code coverage, CSS and JavaScript.

     

    PyCharm icon
  • pip

    Free Mac Windows Linux Python Website

    The PyPA recommended tool for installing Python packages.

     

  • Django

    Free Mac Windows Linux BSD Python Website

    Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.

     

    Django icon
  • The Path of PHP

    If you are old school and going with the tried and true PHP, here are the tools you will need to build your back-end! Listed here are the following: languages/platform, Integrated Development Environment, Package Manager, Testing Framework, and backend website framework, in that order.

  • PHP

    Free Mac Windows Linux BSD PHP Website

    PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.

     

    PHP icon
  • PhpStorm

    Commercial Mac Windows Linux Website

    Enjoy productive PHP and web development with PhpStorm.
    Take advantage of deep code understanding, top-notch coding assistance, and support for all major tools and frameworks.

     

    PhpStorm icon
  • Codeception

    Free Mac Windows Linux Website

    Codeception is a new full-stack testing PHP framework. It provides you absolutely new original way for writing acceptance, functional and unit tests.

    Sample Codeception test may look like this.

    <?php
    $I = new WebGuy($scenario);
    $I->wantTo('create new blog post');
    $I->amOnPage('/blog/posts');
    $I->click('Create new post');
    $I->fillField('Title','Codeception, a new way of testing!');
    $I->fillField('Text','Codeception is new PHP full-stack testing framework.');
    $I->click('Send');
    $I->see('Congratulations, your post is successfully created!');
    ?>

    It's very easy to read, easy to write and execute in a web browser or browser emulator.

     

    Codeception icon
  • Laravel

    Free Mac Windows Linux Web Self-Hosted Website

    Laravel is a clean and classy PHP framework with minimal configuration and expressive syntax. RESTful routing; ORM; beautiful code.

     

    Laravel icon
  • Relational Databases

    I've included each database system and the associated admin tool following it. The only exception is MariaDB and MySQL, both of which can be administered using the same tool.

  • PostgreSQL

    Free Mac Windows Linux BSD Website

    PostgreSQL is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness. It runs on all major operating systems, including Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), and Windows. It is fully ACID compliant, has full support for foreign keys, joins, views, triggers, and stored procedures (in multiple languages). It includes most SQL:2008 data types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. It also supports storage of binary large objects, including pictures, sounds, or video. It has native programming interfaces for C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, among others, and exceptional documentation.

     

    PostgreSQL icon
  • pgAdmin

    Free Mac Windows Linux BSD Website

    pgAdmin is the most popular and feature rich open source administration and development platform for Small PostgreSQL iconPostgreSQL, the most advanced open source database in the world. The application may be used on Linux, FreeBSD, Solaris, Mac OSX and Windows platforms to manage PostgreSQL 7.3 and above running on any platform, as well as commercial and derived versions of PostgreSQL such as Postgres Plus Advanced Server and Greenplum database.

    pgAdmin is designed to answer the needs of all users, from writing simple SQL queries to developing complex databases. The graphical interface supports all PostgreSQL features and makes administration easy. The application also includes a syntax highlighting SQL editor, a server-side code editor, an SQL/batch/shell job scheduling agent, support for the Slony-I replication engine and much more. Server connection may be made using TCP/IP or Unix Domain Sockets (on *nix platforms), and may be SSL encrypted for security. No additional drivers are required to communicate with the database server.

    pgAdmin is developed by a community of PostgreSQL experts around the world and is available in more than a dozen languages. It is Free Software released under the PostgreSQL License.

     

    pgAdmin icon
  • MariaDB

    Free Windows Linux BSD Website

    MariaDB si an Open Source Relational DataBase Management System, using InnoDB technology. .

     

    MariaDB icon
  • MySQL Workbench

    Free Mac Windows Linux Web Website

    MySQL Workbench is a unified visual tool for database architects, developers, and DBAs. MySQL Workbench provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, and much more. MySQL Workbench is available on Windows, Linux and Mac OS.

     

    MySQL Workbench icon
  • NoSQL

    As with the relational databases, I've included the database and corresponding management tool. Note that MongoDB is a NoSQL database and Redis is a caching system.

  • MongoDB

    Free Mac Windows Linux Web BSD Website

    MongoDB (from "humongous") is a scalable, high-performance, open source NoSQL database. The database is document-oriented so it manages collections of JSON-like documents. Many applications can thus model data in a more natural way, as data can be nested in complex hierarchies and still be query-able and indexable.

     

    MongoDB icon
  • MongoDB Compass

    Free Mac Windows Linux Website

    The GUI for MongoDB. Visually explore your data. Run ad hoc queries in seconds. Interact with your data with full CRUD. View and optimize your query performance. Compass empowers you to make smarter decisions about indexing, document validation, etc.

     

    MongoDB Compass icon
  • Redis

    Free Mac Windows Linux BSD Self-Hosted Website

    Redis (REmote DIctionary Server) is an open-source, networked, in-memory, key-value data store with optional durability. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.

     

    Redis icon
  • Medis

    Free Mac Website

    Medis is a beautiful, easy-to-use Redis GUI management application for Redis version 2.8 or greater.

    Features

    • Keys viewing/editing
    • SSH Tunnel for connecting with remote servers
    • Terminal for executing custom commands
    • Config viewing/editing

    Advanced Features

    • JSON/MessagePack format viewing/editing and built-in highlighting/validator
    • Working with millions of keys and key members without blocking the Redis server
    • Pattern manager for easy selecting a subgroup of keys

     

    Medis icon
  • Services

    Random services, specifically two authorization services, a message broker, and a search engine.

  • OAuth

    Free Web Website

    OAuth is an open standard for authorization. It allows users to share their private resources (e.g. photos, videos, contact lists) stored on one site with another site without having to hand out their credentials, typically supplying username and password tokens instead. Each token grants access to a specific site (e.g., a video editing site) for specific resources (e.g., just videos from a specific album) and for a defined duration (e.g., the next 2 hours). This allows a user to grant a third party site access to their information stored with another service provider, without sharing their access permissions or the full extent of their data.

     

    OAuth icon
  • OpenID

    Free Web Website

    OpenID is an open standard that describes how users can be authenticated in a decentralized manner, eliminating the need for services to provide their own ad hoc systems and allowing users to consolidate their digital identities. Users may create accounts with their preferred OpenID identity providers, and then use those accounts as the basis for signing on to any website which accepts OpenID authentication

     

    OpenID icon
  • RabbitMQ

    Free Mac Windows Linux Website

    RabbitMQ is a complete and highly reliable enterprise messaging system based on the emerging AMQP standard

    RabbitMQ provides robust messaging for applications. It is easy to use, fit for purpose at cloud scale and supported on all major operating systems and developer platforms. RabbitMQ is open sourced under the Mozilla Public License.

     

    RabbitMQ icon
  • elasticsearch

    Free Windows Linux Mac Java Website

    ElasticSearch is a distributed, RESTful, free/open source search server based on Java under the Apache License ( Lucene ).

     

    elasticsearch icon
  • Webservers

    Two of the most popular webservers and a system used for managing servers.

  • Apache HTTP Server

    Free Mac Windows Linux BSD Website

    Apache, is a web server notable for playing a key role in the initial growth of the World Wide Web and in 2009 became the first web server to surpass the 100 million web site milestone. Apache was the first viable alternative to the Netscape Communications Corporation web server, and has since evolved to rival other Unix-based web servers in terms of functionality and performance. The majority of all web servers using Apache are Linux web servers.
    Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation.

     

    Apache HTTP Server icon
  • nginx

    Free Mac Windows Linux BSD Website

    nginx [engine x] is a HTTP and reverse proxy server, as well as a mail proxy server written by Igor Sysoev. It has been running for more than five years on many heavily loaded Russian sites including Rambler (RamblerMedia.com).

    Basic HTTP server features

    Serving static and index files, autoindexing; open file descriptor cache;
    Accelerated reverse proxying with caching; simple load balancing and fault tolerance;
    Accelerated support with caching of FastCGI, uwsgi, SCGI, and memcached servers; simple load balancing and fault tolerance;
    Modular architecture. Filters include gzipping, byte ranges, chunked responses, XSLT, SSI, and image transformation filter. Multiple SSI inclusions within a single page can be processed in parallel if they are handled by proxied or FastCGI/uwsgi/SCGI servers;
    SSL and TLS SNI support.

     

    nginx icon
  • Cockpit Project

    Free Linux Website

    Makes it easy to administer Linux servers via a web browser. It allows you to easily perform simple tasks like storage administration, inspecting journals, starting & stopping services, monitoring & administering several servers at once.

     

    Cockpit Project icon
  • API Tools

    GraphQL is the next big thing when it come to replacing REST APIs, according. The Insomnia and Postman tools can be used as API clients. Missing from this list is the GraphQL Apollo-Server and Apollo-Client as well as Relay, three very useful tools for managing GraphQL.

  • Insomnia REST Client

    Freemium Mac Windows Linux Website

    A powerful REST API Client with cookie management, environment variables, code generation, and authentication for Mac, Window, and Linux.

     

    Insomnia REST Client icon
  • Postman

    Freemium Mac Windows Linux Web Chrome OS ... Chrome Website

    Postman helps you be more efficient while working with APIs. Postman is a scratch-your-own-itch project. The need for it arose while one of the developers was creating an API for his project. After looking around for a number of tools, nothing felt just right. The primary features added initially were a history of sent requests and collections. A number of other features have been added since then. Here is a small list.

    Features

    Create requests quickly

    • Compact layout
    • HTTP requests with file upload support
    • Formatted API responses for JSON and XML
    • Open responses as an HTML file in a new window
    • HATEOAS support
    • Image previews
    • Request history
    • Basic and OAuth 1.0 helpers
    • Autocomplete for URL and header values
    • Key/value editors for adding parameters or header values. Works for URL parameters too.
    • Use environment variables to easily shift between settings. Great for testing production, staging or local setups.
    • Use Global variables for values which are common throughout APIs
    • Use the quick look feature to preview variables and their values before you use them
    • Keyboard shortcuts to maximize your productivity

    Document and share APIs

    • Use collections to organize requests and share them quickly using URLs.
    • Document requests inside collections. You can even store entire HTML notes. Postman uses Bootstrap so you can use it too to style your notes.
    • Download and share collections with your team of developers.
    • Improved collection editing in 0.6.3

    Collections

    Collections can be any group of requests. You can save any kind of request by clicking the 'Add to collection' button. While saving the request you can also add a name and a note. There is no limit on the size of the notes so it can be as detailed as possible. Collections can be downloaded and shared as a file.

     

    Postman icon
  • GraphQL

    Free Mac Windows Linux JavaScript GitHub Website

    The goal of this library is to provide an easy and fast way to create a GraphQL, Relay compliant server, that can serve multiple projects.

     

  • Graph Databases

  • neo4j

    Free Mac Windows Linux Website

    You can think of Neo4j as a high-performance graph engine with all the features of a mature and robust database.

    The programmer works with an object-oriented, flexible network structure rather than with strict and static tables — yet enjoys all the benefits of a fully transactional, enterprise-strength database.

     

    neo4j icon

The purpose of this list is to provide a listing of solutions available and commonly used by developers in the field in 2019 for back-end web development. I encourage everyone and anyone reading this list to also check out the site "https://github.com/kamranahmedse/developer-roadmap" as it has additional information on a logical order to run and use these apps as well as additional topics that are not software solutions, but concepts that are important to learn.



Comments on xenmaster's back end web development list

Echo echo ... Feels empty in here

Maybe you want to be the first to submit a comment?

Sign up to comment, it's simple!