JavaScript — мультипарадигменный язык программирования. Поддерживает объектно-ориентированный, императивный и функциональный стили. Является реализацией спецификации ECMAScript.
API — программный интерфейс, то есть описание способов взаимодействия одной компьютерной программы с другими. Обычно входит в описание какого-либо интернет-протокола, программного каркаса (фреймворка) или стандарта вызовов функций операционной системы. Часто реализуется отдельной программной библиотекой или сервисом операционной системы. Используется программистами при написании всевозможных приложений.
Кроссплатформенность (межплатформенность) — способность программного обеспечения работать с несколькими аппаратными платформами или операционными системами. Обеспечивается благодаря использованию высокоуровневых языков программирования, сред разработки и выполнения, поддерживающих условную компиляцию, компоновку и выполнение кода для различных платформ. Типичным примером является программное обеспечение, предназначенное для работы в операционных системах Linux и Windows одновременно.
JIT-компиляция, динамическая компиляция — технология увеличения производительности программных систем, использующих байт-код, путём компиляции байт-кода в машинный код или в другой формат непосредственно во время работы программы. Таким образом достигается высокая скорость выполнения по сравнению с интерпретируемым байт-кодом за счёт увеличения потребления памяти и затрат времени на компиляцию. Технология JIT базируется на двух более ранних идеях, касающихся среды выполнения: компиляции байт-кода и динамической компиляции.
Класс — в объектно-ориентированном программировании, модель для создания объектов определённого типа, описывающая их структуру и определяющая алгоритмы для работы с этими объектами.
CORBA — технологический стандарт написания распределённых приложений, продвигаемый консорциумом OMG и соответствующая ему информационная технология. CORBA обеспечивает взаимодействие между системами, работающими под разными операционными системами, написанными на разных языках программирования и запущенных на разном вычислительном оборудовании. CORBA использует объектно-ориентированную модель, хотя системы, использующие CORBA, не обязательно должны быть объектно-ориентированными. CORBA — это пример парадигмы распределенной объектной системы.
Виртуализа́ция — предоставление набора вычислительных ресурсов или их логического объединения, абстрагированное от аппаратной реализации, и обеспечивающее при этом логическую изоляцию друг от друга вычислительных процессов, выполняемых на одном физическом ресурсе.
LLVM — проект программной инфраструктуры для создания компиляторов и сопутствующих им утилит. Состоит из набора компиляторов из языков высокого уровня, системы оптимизации, интерпретации и компиляции в машинный код. В основе инфраструктуры используется RISC-подобная платформонезависимая система кодирования машинных инструкций, которая представляет собой высокоуровневый ассемблер, с которым работают различные преобразования.
Прототипи́рование программного обеспечения — этап разработки программного обеспечения (ПО), процесс создания прототи́па программы — макета программы, обычно — с целью проверки пригодности предлагаемых для применения концепций, архитектурных и/или технологических решений, а также для представления программы заказчику на ранних стадиях процесса разработки.
Spring Framework — универсальный фреймворк с открытым исходным кодом для Java-платформы. Также существует форк для платформы .NET Framework, названный Spring.NET.
Cocoa — объектно-ориентированный API для операционной системы macOS от компании Apple. Это один из пяти основных API, доступных в macOS, — Cocoa, Carbon, Toolbox, POSIX и Java. Такие языки, как Perl, Python и Ruby, не считаются основными, так как на них пока что пишется не так много серьёзных приложений для macOS.
Google Web Toolkit — свободный Java-фреймворк, который позволяет веб-разработчикам создавать Ajax-приложения. Его особенность — это компилятор Java -> JavaScript, позволяющий почти всю разработку клиента и сервера реализовать на основе Java и лишь на последнем этапе создать соответствующие JavaScript, HTML и CSS. Выпускается под лицензией Apache версии 2.0. GWT делает акцент на повторное использование и кросс‐браузерную совместимость.
Насыщенное интернет-приложение — это веб-приложение, загружаемое пользователем через интернет, предназначенное для выполнения функций традиционных настольных приложений и работающее на устройстве пользователя.
Ниже список продуктов Mozilla Foundation/Mozilla Corporation. Все продукты, кроме специальных, кросс-платформенны.
V8 — движок JavaScript с открытым программным кодом, распространяемый по лицензии BSD. Разработан датским отделением компании Google.
НауLinux — некоммерческий дистрибутив Linux, базируется на Scientific Linux Cyrillic Edition (SL).
Ненавязчивый JavaScript является подходом к web-программированию на языке JavaScript. Термин был введён в 2002 году Стюартом Лэнгриджем. Под принципами ненавязчивого Javascript обычно понимают следующее:
- отделение функциональности веб-страницы от структуры, содержания и представления Web-страницы;
- наработанные методы по избежанию проблем традиционного программирования на JavaScript ;
- техники «постепенного улучшения» для поддержки пользовательских агентов, которые могут не в полной мере поддерживать функциональность JavaScript.
CouchDB — документо-ориентированная система управления базами данных с открытым исходным кодом, не требующая описания схемы данных, распространяется свободно, написана на языке Erlang. Впервые вышла в 2005 году, с 2008 года — проект фонда Apache.
TypeScript — язык программирования, представленный Microsoft в 2012 году и позиционируемый как средство разработки веб-приложений, расширяющее возможности JavaScript.
Слой абстракции базы данных — это интерфейс прикладного программирования, который унифицирует связь между компьютерным приложением и системами управления базами данных(СУБД), такими как SQL Server, DB2, MySQL, PostgreSQL, Oracle или SQLite. Традиционно все поставщики СУБД предоставляют свой собственный интерфейс, адаптированный к их продуктам, что позволяет программисту реализовать код для всех интерфейсов баз данных, которые он или она хотел бы поддерживать. Уровни абстракции уменьшают объём работы, предоставляя последовательный API разработчику и максимально скрывая специфику базы данных за этим интерфейсом. Существует множество слоёв абстракции с различными интерфейсами на многих языках программирования.