Redux ist eine State-Management-Bibliothek für JavaScript-Anwendungen, die häufig mit React verwendet wird. Sie hilft dabei, den globalen Zustand einer Anwendung zentral zu verwalten, sodass Daten konsistent und vorhersagbar bleiben.
Store
Enthält den gesamten Anwendungszustand (State).
Es gibt nur einen einzigen Store pro Anwendung.
Actions
Repräsentieren Ereignisse, die den State ändern sollen.
Sind einfache JavaScript-Objekte mit einer type
-Eigenschaft und optionalen Daten (payload
).
Reducers
Funktionen, die den neuen State basierend auf der Action berechnen.
Sind pure functions, d.h. sie haben keine Seiteneffekte.
Dispatch
Eine Methode, mit der Actions an den Store gesendet werden.
Selectors
Funktionen, um gezielt Werte aus dem State auszulesen.
Erleichtert das State-Management in großen Anwendungen.
Verhindert Prop-Drilling in React-Komponenten.
Macht den Zustand vorhersagbar durch einheitliche State-Änderungen.
Ermöglicht Debugging mit Tools wie Redux DevTools.
Falls Redux zu komplex erscheint, gibt es Alternativen wie:
React Context API – für kleinere Apps geeignet
Zustand – ein leichtgewichtiges State-Management
Recoil – von Facebook entwickelt, flexibel für React
Salesforce Apex ist eine objektorientierte Programmiersprache, die speziell für die Salesforce-Plattform entwickelt wurde. Sie ähnelt Java und wird hauptsächlich verwendet, um benutzerdefinierte Geschäftslogik, Automatisierungen und Integrationen in Salesforce zu implementieren.
Cloud-basiert: Läuft ausschließlich auf den Servern von Salesforce.
Syntaxähnlichkeit zu Java: Wer Java kennt, kann Apex schnell lernen.
Eng mit der Salesforce-Datenbank (SOQL & SOSL) verknüpft: Ermöglicht direkte Datenabfragen und Manipulationen.
Ereignisgesteuert: Wird oft durch Salesforce-Trigger (z. B. Änderungen an Datensätzen) ausgeführt.
Governor Limits: Salesforce begrenzt Ressourcenverbrauch (z. B. maximale Anzahl von SOQL-Abfragen pro Transaktion), um die Performance der Plattform zu sichern.
Triggers: Automatische Aktionen bei Änderungen an Datensätzen.
Batch-Prozesse: Verarbeitung großer Datenmengen in Hintergrundjobs.
Web Services & API-Integrationen: Kommunikation mit externen Systemen.
Custom Controllers für Visualforce & Lightning: Steuerung von Benutzeroberflächen.
Die PHP-Bibliothek Whoops ist ein leistungsstarkes und benutzerfreundliches Fehlermanagement-Tool für PHP-Anwendungen. Sie sorgt dafür, dass Fehler in einer ansprechenden und übersichtlichen Weise dargestellt werden, was die Fehlersuche und -behebung erleichtert.
✅ Schöne, interaktive Fehlerseiten
✅ Detaillierte Stack-Traces mit Code-Vorschau
✅ Einfache Integration in bestehende PHP-Projekte
✅ Unterstützung für verschiedene Frameworks (Laravel, Symfony, Slim, etc.)
✅ Anpassbar durch eigene Handler und Logger
Whoops kann mit Composer installiert werden:
composer require filp/whoops
Hier ist ein einfaches Beispiel, wie du Whoops in deinem PHP-Projekt aktivieren kannst:
require 'vendor/autoload.php';
use Whoops\Run;
use Whoops\Handler\PrettyPageHandler;
$whoops = new Run();
$whoops->pushHandler(new PrettyPageHandler());
$whoops->register();
// Erzeugt einen Fehler (z. B. eine nicht definierte Variable aufrufen)
echo $undefinedVariable;
Falls ein Fehler auftritt, zeigt Whoops eine übersichtliche Debug-Seite an.
Du kannst Whoops auch erweitern, z. B. indem du eine eigene Fehlerbehandlung hinzufügst:
use Whoops\Handler\CallbackHandler;
$whoops->pushHandler(new CallbackHandler(function ($exception, $inspector, $run) {
error_log($exception->getMessage());
}));
Diese Variante loggt Fehler in eine Datei, anstatt sie direkt anzuzeigen.
Whoops wird oft in Entwicklungsumgebungen verwendet, um schnell auf Fehler zu reagieren. In Produktionsumgebungen sollte es jedoch deaktiviert oder durch eine benutzerdefinierte Fehlerseite ersetzt werden.
Swift ist eine von Apple entwickelte, leistungsstarke und benutzerfreundliche Programmiersprache für die Entwicklung von Apps für iOS, macOS, watchOS und tvOS. Sie wurde 2014 als moderne Alternative zu Objective-C vorgestellt und zeichnet sich durch ihre Geschwindigkeit, Sicherheit und einfache Syntax aus.
Swift wird hauptsächlich für Apple-Plattformen genutzt, kann aber auch für Server-Anwendungen oder sogar Android- und Windows-Apps eingesetzt werden.
Die Fetch API ist eine moderne JavaScript-Schnittstelle für das Abrufen von Ressourcen über das Netzwerk, z. B. für HTTP-Requests an eine API oder das Laden von Daten von einem Server. Sie ersetzt weitgehend die ältere XMLHttpRequest
-Methode und bietet eine einfachere, flexiblere und leistungsfähigere Möglichkeit, Netzwerkabfragen zu verwalten.
fetch('https://jsonplaceholder.typicode.com/posts/1')
.then(response => response.json()) // Antwort als JSON umwandeln
.then(data => console.log(data)) // Daten ausgeben
.catch(error => console.error('Fehler:', error)); // Fehlerbehandlung
Ein Request mit POST-Methode
fetch('https://jsonplaceholder.typicode.com/posts', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ title: 'Neuer Beitrag', body: 'Inhalt des Beitrags', userId: 1 })
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Fehler:', error));
✅ Einfachere Syntax als XMLHttpRequest
✅ Unterstützt async/await
für bessere Lesbarkeit
✅ Flexibles Handling von Requests und Responses
✅ Bessere Fehlerbehandlung durch Promises
Die Fetch API ist mittlerweile in allen modernen Browsern verfügbar und eine essentielle Technik für die Webentwicklung.
Backbone.js ist ein leichtgewichtiges JavaScript-Framework, das Entwicklern hilft, strukturierte und skalierbare Webanwendungen zu erstellen. Es basiert auf dem Model-View-Presenter (MVP)-Entwurfsmuster und bietet eine minimalistische Architektur zur Trennung von Daten (Modelle), Benutzeroberfläche (Views) und Geschäftslogik.
✔ Einfach und flexibel
✔ Gute Integration mit RESTful APIs
✔ Modular und leichtgewichtig
✔ Reduziert Spaghetti-Code durch Trennung von Daten und UI
Obwohl Backbone.js früher sehr beliebt war, haben neuere Frameworks wie React, Vue.js oder Angular mittlerweile viele seiner Anwendungsfälle übernommen. Dennoch ist es in bestehenden Projekten und für minimalistische Anwendungen weiterhin relevant. 🚀
Jest ist ein JavaScript-Testing-Framework, das von Meta (Facebook) entwickelt wurde. Es wird hauptsächlich zum Testen von JavaScript- und TypeScript-Anwendungen verwendet, insbesondere für React-Anwendungen, eignet sich aber auch für Node.js-Backends.
// sum.js
function sum(a, b) {
return a + b;
}
module.exports = sum;
// sum.test.js
const sum = require('./sum');
test('addiert 1 + 2 und ergibt 3', () => {
expect(sum(1, 2)).toBe(3);
});
Um den Test auszuführen, nutzt du:
jest
Oder falls du es in einem Projekt installiert hast:
npx jest
GoJS ist eine JavaScript-Bibliothek zur Erstellung interaktiver Diagramme und Graphen in Webanwendungen. Sie wird häufig für Flowcharts, Netzwerktopologien, UML-Diagramme, BPMN-Modelle und andere visuelle Darstellungen von Daten verwendet.
GoJS wird häufig in Business-Anwendungen eingesetzt, um komplexe Prozesse oder Beziehungen zu visualisieren. Es ist eine kostenpflichtige Bibliothek, bietet aber eine kostenlose Evaluierungsversion.
Die offizielle Website ist: https://gojs.net
Das Pyramid Web Framework ist ein leichtgewichtiges, flexibles und skalierbares Web-Framework für Python. Es gehört zur Pylons-Projektfamilie und ist besonders für Entwickler geeignet, die eine minimalistische, aber dennoch leistungsfähige Lösung für Webanwendungen suchen.
Minimalistisch, aber erweiterbar
Flexibel
Traversal und URL Mapping
Leistungsstark und effizient
First-Class Testing Support
Gute Dokumentation und Community-Support
Feature | Pyramid | Flask | Django |
---|---|---|---|
Architektur | Minimalistisch & modular | Minimalistisch & leicht | Monolithisch & feature-reich |
Routing | URL Mapping & Traversal | URL Mapping | URL Mapping |
Skalierbarkeit | Hoch | Mittel | Hoch |
Built-in Features | Wenige, aber erweiterbar | Sehr wenige | Viele (ORM, Admin, Auth, etc.) |
Lernkurve | Mittel | Einfach | Höher |
Pyramid ist eine großartige Wahl für Entwickler, die eine Balance zwischen Minimalismus und Leistungsfähigkeit suchen. Es eignet sich besonders für mittelgroße bis große Webprojekte, bei denen Skalierbarkeit, Flexibilität und eine gute Testbarkeit wichtig sind.
Twig ist ein leistungsfähiges und flexibles Templating-System für PHP, das häufig in Symfony, aber auch in anderen PHP-Projekten verwendet wird. Es ermöglicht eine klare Trennung von Logik und Präsentation und bietet viele nützliche Features für die Frontend-Entwicklung.
{{ }}
)Twig verwendet doppelte geschweifte Klammern für die Ausgabe von Variablen:
<p>Hallo, {{ name }}!</p>
→ Wenn name = "Max"
ist, wird ausgegeben:
"Hallo, Max!"
{% %}
)Twig unterstützt if-else, Schleifen und andere Kontrollstrukturen:
{% if user.isAdmin %}
<p>Willkommen, Admin!</p>
{% else %}
<p>Willkommen, Nutzer!</p>
{% endif %}
Schleifen (for
)
<ul>
{% for user in users %}
<li>{{ user.name }}</li>
{% endfor %}
</ul>
Twig unterstützt das Konzept von "Base-Layouts", ähnlich wie Blade in Laravel.
base.html.twig
)<!DOCTYPE html>
<html>
<head>
<title>{% block title %}Meine Seite{% endblock %}</title>
</head>
<body>
<header>{% block header %}Standard-Header{% endblock %}</header>
<main>{% block content %}{% endblock %}</main>
</body>
</html>
Kind-Template (page.html.twig
)
{% extends 'base.html.twig' %}
{% block title %}Startseite{% endblock %}
{% block content %}
<p>Willkommen auf meiner Seite!</p>
{% endblock %}
→ Die Blöcke überschreiben die Standardinhalte des Basis-Templates.
Man kann wiederverwendbare Teile wie Header oder Footer einbinden:
{% include 'partials/navbar.html.twig' %}
Twig enthält viele Filter, um Inhalte zu formatieren:
Filter | Beispiel | Ausgabe |
---|---|---|
upper |
`{{ "text" | upper }}` |
lower |
`{{ "TEXT" | lower }}` |
length |
`{{ "Hallo" | length }}` |
date |
`{{ "now" | date("d.m.Y") }}` |
Twig escapet HTML automatisch, um XSS-Angriffe zu verhindern:
{{ "<script>alert('XSS');</script>" }}
→ Gibt nur <script>alert('XSS');</script>
aus.
Möchtest du HTML ungefiltert ausgeben, nutze |raw
:
{{ "<strong>Fett</strong>"|raw }}