-
Notifications
You must be signed in to change notification settings - Fork 4
Zeta Technologies
The technologies used in Zeta are explained and classified below.
- (Ace/Brace)
- Babel
- Bower
- Browserify
- Docker
- ES6 modules
- Jest
- Node.js
- NPM
- Play Framework
- Puppeteer
- Vue.js
- Vuetify
- Webpack
- Yarn
Ace (Ajax.org Cloud9 Editor) is an embeddable open source code editor for JavaScript and web applications, which offers a variety of features, especially auto-completion and syntax highlighting for over 100 languages. Brace is a Browserify compatible variant of the Ace-Editor. In the Zeta project, brace is used to define the DSL's in the Zeta code editor (DSL editor). Due to compatibility problems with Webpack, the Ace-Editor could not be used directly.
The JavaScript compiler transforms modern JavaScript into old JavaScript, so that it is executable even for elderly browsers. The compiler can translate the new syntax into older syntax and thereby changes the source code of JavaScript programs. This helps when target systems do not support new functions.
Bower is a web-based package manager and can manage components that contain HTML, CSS, JavaScript, fonts or image files. Bower doesn't concatenate or minify code or does anything else - it just installs the right versions of the packages you need and their dependencies.
Browserify is an open source JavaScript tool that allows developers to write Node.js style modules that are compiled for use in the browser. With Browserify, you can use require in the browser just as you would use it in Node.
ES6 is a JavaScript module manager. A module is nothing more than a part of the JavaScript code written in a file. ES6 helps you to write code into modules and exposes only those parts of the code that other parts of the code should access.
Jest is a JavaScript testing framework maintained by Facebook with a focus on simplicity. It works with projects using: Babel, TypeScript, Node.js, React, Angular and Vue.js. It aims to work out of the box and config free. Tests are parallelized by running them in their own processes to maximize performance.
Node.js is not a framework or library, but a server-side runtime environment based on the JavaScript engine V8. Node.js is mainly used to develop scalable network applications. Node.js enables server-side development with JavaScript. Since JavaScript provides an event-driven architecture, Node.js is lean and efficient compared to similar technologies.
- Server-side platform for the operation of network applications
- Event-based and not thread-based → resource-saving
- Offers an own web server
- Has integrated modules (npm modules can be added)
NPM (Node Package Manager) is a package manager for the administration of modules for Node.js. In recent years, however, NPM has become a widely used standard in the JavaScript world. According to Node.js, the NPM repository is now considered the world's largest ecosystem for OSS libraries. A comparable technology is, for example, Maven, a package manager for Java.
The Play Framework is an open-source web application framework which follows the model–view–controller (MVC) architectural pattern. It is written in Scala and usable from other programming languages that are compiled to JVM Bytecode, e.g. Java. It aims to optimize developer productivity by using convention over configuration, hot code reloading and display of errors in the browser.
Puppeeter is a Node.js library created by Google, which provides a convenient API to control Headless Chrome. Puppeteer API is not designed for testing and it doesn't provide you with the whole functionality of a testing framework. Therefore, it can be used with Jest. We use Puppeeter in combination with Jest to create tests.
Vue.js is a progressive framework for building user interfaces. It uses a virtual DOM and works with single file components for better performance and reusability. You can read more information about Vue.js in Frontend Development.
Vuetify is a framework that can be used to develop rich and engaging UIs for web and mobile applications. This library is based on the existing Vue.js.
Webpack is a module packer that bundles JavaScript files for use in the browser into one or a few files (js bundles). With appropriate plugins, also elements such as HTML, CSS or SVG files can be converted to JavaScript files. The default name of the created configuration file is webpack.config.js. However, webpack requires the installation of Node.js. It is important to note that there is a significant difference between module packers and module loaders. While module loader tools load modules at runtime, module packers pack the modules before they are loaded in the browser. Similar technologies are Gulp, Grunt or Browserify.
Yarn is a package manager like NPM, which has been improved with reliability, security and performance. With the package manager Yarn, developers still have access to the npm registry, but at the same time should be able to install packages faster and manage dependencies seamlessly across machines or secure offline environments. Yarn has the same set of features as existing workflows, but should be faster, more secure and more reliable.