<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dynamisch Archive - CEOsBay</title>
	<atom:link href="https://ceosbay.com/tag/dynamisch/feed/" rel="self" type="application/rss+xml" />
	<link>https://ceosbay.com/tag/dynamisch/</link>
	<description>It&#039;s all about Tech</description>
	<lastBuildDate>Fri, 21 Feb 2025 07:23:31 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://i0.wp.com/ceosbay.com/wp-content/uploads/2022/11/image.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Dynamisch Archive - CEOsBay</title>
	<link>https://ceosbay.com/tag/dynamisch/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">211828771</site>	<item>
		<title>Dynamische Tests &#8211; Fehler zur Party einladen!</title>
		<link>https://ceosbay.com/2023/07/27/dynamische-tests-fehler-zur-party-einladen/</link>
					<comments>https://ceosbay.com/2023/07/27/dynamische-tests-fehler-zur-party-einladen/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Thu, 27 Jul 2023 15:17:00 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Automatisierung]]></category>
		<category><![CDATA[Big-Data]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Embedded]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Testautomatisierung]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[agile Entwicklung]]></category>
		<category><![CDATA[Black]]></category>
		<category><![CDATA[Black-Box-Testing]]></category>
		<category><![CDATA[Box]]></category>
		<category><![CDATA[Dynamic]]></category>
		<category><![CDATA[Dynamisch]]></category>
		<category><![CDATA[Dynamische Tests]]></category>
		<category><![CDATA[Fehlerbehebung]]></category>
		<category><![CDATA[Grey-Box-Testing]]></category>
		<category><![CDATA[Methoden]]></category>
		<category><![CDATA[Qualitätssicherung]]></category>
		<category><![CDATA[Software-Testing]]></category>
		<category><![CDATA[Softwarequalität]]></category>
		<category><![CDATA[Testarten]]></category>
		<category><![CDATA[Testmethoden]]></category>
		<category><![CDATA[Typen]]></category>
		<category><![CDATA[White]]></category>
		<category><![CDATA[White-Box-Testing]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1943</guid>

					<description><![CDATA[<p>Dynamische Tests spielen eine wesentliche Rolle im Bereich der Software-Qualitätssicherung. Sie überprüfen die Funktionsfähigkeit von Programmen und Applikationen unter realen Betriebsbedingungen, indem sie tatsächliche Eingaben verwenden und anschließend die Ausgaben analysieren. Im Gegensatz zu statischen &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/07/27/dynamische-tests-fehler-zur-party-einladen/">Dynamische Tests &#8211; Fehler zur Party einladen!</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Dynamische Tests spielen eine wesentliche Rolle im Bereich der Software-Qualitätssicherung. Sie überprüfen die Funktionsfähigkeit von Programmen und Applikationen unter realen Betriebsbedingungen, indem sie tatsächliche Eingaben verwenden und anschließend die Ausgaben analysieren. Im Gegensatz zu <a href="https://ceosbay.com/2023/07/22/statische-tests/">statischen Tests</a>, bei denen man den Code nicht ausführt, führen dynamische Tests das Programm aus und testen es in Echtzeit.</p>



<h2 class="wp-block-heading">Funktionsweise &#8211; Dynamische Tests</h2>



<p>Dynamische Tests überprüfen das tatsächliche Verhalten eines Systems anhand von definierten Anforderungen. Im Rahmen dieser Tests führt man automatisiert Software-Code mit verschiedenen Eingaben aus, um die Korrektheit der Ergebnisse und die Effizienz der Software zu überprüfen. Sowohl manuelle als auch automatisierte Testverfahren kommen zum Einsatz.</p>



<h2 class="wp-block-heading">Methoden und Typen &#8211; Dynamische Tests</h2>



<p>Es gibt verschiedene Methoden und Typen von dynamischen Tests, darunter White-Box-Testing, Black-Box-Testing und Grey-Box-Testing.</p>



<h3 class="wp-block-heading">White-Box-Testing</h3>



<p>White-Box-Testing, auch als Struktur- oder Glass-Box-Testing bekannt, erfordert Kenntnisse über die interne Funktionsweise des zu testenden Systems. Entwickler und Tester verwenden diese Methode, um spezifische Teile eines Codes zu testen und sicherzustellen, dass alle Pfade und Zustände korrekt funktionieren.</p>



<h3 class="wp-block-heading">Black-Box-Testing</h3>



<p>Black-Box-Testing, auch als Verhaltens- oder Spezifikationstesting bekannt, konzentriert sich auf die Funktionalität des Systems ohne Kenntnis seiner internen Strukturen oder Arbeitsweisen. Tester konzentrieren sich auf Eingabe- und Ausgabewerte, um sicherzustellen, dass die Software ihre definierten Anforderungen erfüllt.</p>



<h3 class="wp-block-heading">Grey-Box-Testing</h3>



<p>Grey-Box-Testing, kombiniert Aspekte des Black-Box- und White-Box-Testing. Tester haben hierbei teilweise Kenntnisse über die interne Struktur des Systems und können so sowohl die Funktionalität als auch die interne Arbeitsweise prüfen.</p>



<h2 class="wp-block-heading"><strong>Dynamische Tests in der agilen Entwicklung</strong></h2>



<p>In agilen Entwicklungsprozessen sind dynamische Tests unerlässlich. Sie ermöglichen ein kontinuierliches Testen und Feedback, was zur frühzeitigen Identifizierung und Behebung von Fehlern führt. Insbesondere automatisierte dynamische Tests unterstützen dabei, den Entwicklungsprozess effizienter und reaktionsfähiger zu gestalten.</p>



<h2 class="wp-block-heading">Welche Software kann man nutzen?</h2>



<p><strong>Selenium</strong></p>



<p><a href="https://ceosbay.com/2022/11/25/selenium/">Selenium</a> ist ein weit verbreitetes <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Tool für automatisierte Webanwendungstests. Es unterstützt viele Sprachen wie <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java</a>, <a href="https://ceosbay.com/2023/04/19/c-als-bruecke-zwischen-innovation-und-benutzererfahrung/">C#</a>, <a href="https://ceosbay.com/2022/12/20/erklaerung-python/">Python</a> und <a href="https://ceosbay.com/2022/12/19/erklaerung-ruby/">Ruby</a>.</p>



<p><strong>JMeter</strong></p>



<p>JMeter ist ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Lasttest-Tool von Apache, das man zum Testen von Performance und Last auf Webanwendungen und verschiedenen Diensten verwendet.</p>



<p><strong>Postman</strong></p>



<p>Postman ist ein Tool, das man für die Automatisierung von <a href="https://ceosbay.com/2023/04/20/api-nahtlose-verbindungen-fuer-innovationen/">API</a>-Tests verwendet. Es bietet eine benutzerfreundliche Oberfläche und unterstützt verschiedene Arten von Anfragen.</p>



<p><strong>JUnit</strong></p>



<p><a href="https://ceosbay.com/2023/03/18/erklaerung-junit/">JUnit</a> ist ein <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a> für Unit-Tests in der <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java</a>-Programmiersprache. Es ist nützlich für White-Box-Tests, bei denen der Tester Kenntnisse über die interne Funktionsweise des zu testenden Systems hat.</p>



<p><strong>TestComplete</strong></p>



<p>TestComplete ist ein kommerzielles, automatisiertes UI-Test-Tool, das sowohl Experten als auch Nicht-Programmierer nutzen. Es unterstützt verschiedene Arten von Anwendungen, einschließlich Web-, Mobile- und Desktop-Anwendungen.</p>



<p><strong>Appium</strong></p>



<p>Appium ist ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Tool für die Automatisierung von mobilen Anwendungen. Es unterstützt sowohl native als auch hybride Anwendungen und Webanwendungen auf iOS und Android.</p>



<p><strong>Cucumber</strong></p>



<p><a href="https://ceosbay.com/2023/03/11/erklaerung-cucumber/">Cucumber</a> ist ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Tool, das man für Behaviour-Driven Development (BDD) verwenden kann. Es ermöglicht die Ausführung von funktionalen Tests, die in natürlicher Sprache geschrieben sind.</p>



<p><strong>SoapUI</strong></p>



<p><a href="https://ceosbay.com/2023/03/23/erklaerung-soap/">SoapUI</a> ist ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Tool zum Testen von Web-Services. Es wird hauptsächlich für Functional Testing, Load Testing und Security Testing verwendet.</p>



<p><strong>PyTest</strong></p>



<p>PyTest ist ein <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a> für Unit-Tests in der <a href="https://ceosbay.com/2022/12/20/erklaerung-python/">Python</a>-Programmiersprache. Es ist nützlich für die Durchführung sowohl einfacher Unit-Tests als auch komplexer funktionaler Tests für Anwendungen und Bibliotheken.</p>



<p><strong>Ranorex</strong></p>



<p>Ranorex ist ein kommerzielles Tool für die Automatisierung von End-to-End-Tests auf Desktop-, Web- und mobilen Plattformen.</p>



<p><strong>Robot Framework</strong></p>



<p>Robot <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a> ist in generisches <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Automatisierungssystem für Akzeptanztests und Akzeptanztestgetriebene Entwicklung (ATDD). Es verwendet Schlüsselwörter, um Testfälle zu definieren und zu steuern.</p>



<p><strong>TestNG</strong></p>



<p><a href="https://ceosbay.com/2023/04/24/testng-testautomatisierung/">TestNG</a> ist ein Testing-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a>, das von der <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java</a>-Programmiersprache inspiriert ist und viele fortschrittliche Konfigurations- und Steuerungsfunktionen bietet, sowie die Unterstützung für Datengetriebene Tests.</p>



<h2 class="wp-block-heading"><strong>Fazit</strong></h2>



<p>Die effektive Nutzung dynamischer Tests trägt maßgeblich zur Sicherung der Softwarequalität bei. Mit den verschiedenen Methoden und Typen von dynamischen Tests lässt sich das Verhalten eines Systems unter realen Bedingungen prüfen und bewerten. Die Integration von dynamischen Tests in agile Entwicklungsprozesse ermöglicht darüber hinaus ein schnelles und effektives Feedback, was zur frühzeitigen Behebung von Fehlern und zur Verbesserung der Softwarequalität führt.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/07/27/dynamische-tests-fehler-zur-party-einladen/">Dynamische Tests &#8211; Fehler zur Party einladen!</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/07/27/dynamische-tests-fehler-zur-party-einladen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1943</post-id>	</item>
		<item>
		<title>Angular &#8211; Entfaltung des vollen Potenzials von Webanwendungen</title>
		<link>https://ceosbay.com/2023/03/21/erklaerung-angular/</link>
					<comments>https://ceosbay.com/2023/03/21/erklaerung-angular/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Tue, 21 Mar 2023 18:57:09 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Angular]]></category>
		<category><![CDATA[AngularJS]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[App]]></category>
		<category><![CDATA[Architektur]]></category>
		<category><![CDATA[Databinding]]></category>
		<category><![CDATA[Dynamisch]]></category>
		<category><![CDATA[Eager]]></category>
		<category><![CDATA[ECMAScript]]></category>
		<category><![CDATA[Engine]]></category>
		<category><![CDATA[ES6]]></category>
		<category><![CDATA[First]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Frequenz]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[Komplexität]]></category>
		<category><![CDATA[Lade]]></category>
		<category><![CDATA[Ladetechnik]]></category>
		<category><![CDATA[Ladetechniken]]></category>
		<category><![CDATA[LTS]]></category>
		<category><![CDATA[Major]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[MVVM]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[Patch]]></category>
		<category><![CDATA[Preloading]]></category>
		<category><![CDATA[Releae]]></category>
		<category><![CDATA[Rest]]></category>
		<category><![CDATA[scopes]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Statisch]]></category>
		<category><![CDATA[TypeScript]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1210</guid>

					<description><![CDATA[<p>AngularJS, als Vorgängerversion von Angular, ist ein JavaScript Framework für Web- und Softwareentwicklung, entwickelt von Goole. Anfangs für die Entwicklung von Single-Page-Apps gedacht und im Nachgang millionenfach für die Web-Anwendungsentwicklung genutzt. Google entwickelte damit das &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/21/erklaerung-angular/">Angular &#8211; Entfaltung des vollen Potenzials von Webanwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>AngularJS, als Vorgängerversion von Angular, ist ein <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a> <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> für Web- und Softwareentwicklung, entwickelt von Goole. Anfangs für die Entwicklung von Single-Page-Apps gedacht und im Nachgang millionenfach für die Web-Anwendungsentwicklung genutzt. Google entwickelte damit das erste geeignete <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> für große Enterprise-Anwendungen. Durch Methoden wie Dependency Injection (Ein Entwurfsmuster, bei dem ein Objekt oder eine Funktion andere Objekte oder Funktionen empfängt, von denen es/sie abhängt) und ein ausgereiftes Tooling, ermöglichen eine effiziente und wartbare Softwareentwicklung auf Basis von <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>.</p>



<p>Seit 2009 ist es ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open-Source</a>-Projekt, dass auf gute Testbarkeit ausgelegt ist (An dieser Stelle möchte ich auf den <a href="https://ceosbay.com/2023/03/13/erklaerung-test-driven-development/" target="_blank" rel="noreferrer noopener">Test Driven Development</a> Beitrag verweisen 😉 ). Dies bietet ein MVC/MVVM-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a>, welches bidirektionales Databinding unterstützt.</p>



<h3 class="wp-block-heading">MVC/MVVM?</h3>



<p>MVVM teilt die verschiedenen Komponenten des Entwicklungsprozesses in drei Kategorien auf. Model, View und ViewModel. In der Regel handelt es sich dabei um Code-Markup oder grafische Benutzeroberflächen (GUI). MVC (Model-View-Control) ist eine Methode, mit der Entwickler Programme in diese drei Komponenten aufteilen. Auf diese Weise lassen sich geschäftliche Anforderungen und Regeln von der Art und Weise unterscheiden, wie Benutzer mit der Anwendung arbeiten. Gerne gehe ich in einem zukünftigen Beitrag näher darauf ein.</p>



<h3 class="wp-block-heading">Unterschiede zwischen Angular und AngularJS</h3>



<p>Angular ist wie bereits erwähnt der Nachfolger von AngularJS. Von Grund auf neu geschrieben, unterscheiden die beiden sich grundsätzlich und in vielerlei Hinsicht.</p>



<ul class="wp-block-list">
<li>Angular kennt keine „scopes“ oder Controller, sondern verwendet eine Hierarchie von Komponenten als zentrales Architekturkonzept.</li>



<li>Angular hat eine einfachere Syntax für Ausdrücke: Mit „[ ]“ werden Bindings für Eigenschaften und mit „( )“ werden Bindings für Events erzeugt.</li>



<li>Mobile-First-Ansatz: Die Anforderungen von mobilen Plattformen haben besondere Priorität.</li>



<li>Modularität: Module können Funktionalitäten auslagern, sodass Code leichtgewichtiger und schneller sein kann.</li>



<li>Es liegt lediglich die Unterstützung moderner Browser vor, wodurch man weniger Workarounds wegen Browser-Kompatibilitätsproblemen benötigt.</li>



<li>Angular empfiehlt die Verwendung von TypeScript. Es bietet Klassenbasierte objektorientierte Programmierung, Statische Typisierung und Generics.</li>



<li>TypeScript ist eine Obermenge von ECMAScript 6 (ES6) und ist rückwärts kompatibel mit ECMAScript 5, damit JavaScript. Angular bietet somit auch die Vorzüge von ES6: (Lambdas, Iteratoren, for…of-Schleifen, Generatoren im Stil von <a href="https://ceosbay.com/2022/12/20/erklaerung-python/" target="_blank" rel="noreferrer noopener">Python</a>, Reflexion)</li>



<li>Verbesserte Dependency Injection: Bindings ermöglichen die Benennung von Abhängigkeiten.</li>



<li>Directives dienen dem Zweck, dass Aussehen und Verhalten eines Tags dynamisch zu verändern.</li>



<li>Dynamisches Laden ist möglich</li>



<li>Asynchrone Kompilierung von Templates</li>



<li>Einfacheres Routing</li>



<li>Kontroller und $scope sind durch Komponenten und Directives ersetzt. Eine Komponente ist eine Directive mit einem Template.</li>



<li>Reaktive Programmierung mit RxJS</li>
</ul>



<h3 class="wp-block-heading">Angular für konventionelle Websites?</h3>



<p>Angular ist ideal für Websites mit dynamischem Inhalt, jedoch nicht für kleine Seiten mit statischem Inhalt geeignet. Die Implementierung von Angular erhöht in diesem Fall lediglich die Gesamtgröße des Projekts und folglich auch die Ladezeiten. Dies ist eines der Hauptgründe, warum man Angular nicht für Landing Pages und Websites mit statischem Inhalt verwenden sollte. Davon abgesehen ist Angular weit davon entfernt, <a href="https://ceosbay.com/2022/11/23/erklaerung-seo/" target="_blank" rel="noreferrer noopener">SEO</a>-freundlich zu sein. Und im Zeitalter von <a href="https://ceosbay.com/2022/11/23/erklaerung-seo/" target="_blank" rel="noreferrer noopener">Search-Engine-Optimization</a> gibt es weitaus bessere Alternativen, um dieses Ziel zu erreichen. Auch ist Angular keine gute Lösung für kurzfristige Projekte oder Start-ups mit begrenzten Ressourcen. Die Komplexität des Front-Ends kann in relativ kurzer Zeit immense Ausmaße annehmen und später schwer zu bändigen sein.</p>



<p>Das Hauptanwendungsgebiet von Angular bestand darin, Einzelseiten-Webanwendungen zu erstellen. Aus diesem Grund verfügt es über eine breite Palette von Werkzeugen für die SPA-Entwicklung. Darüber hinaus ist es eine ideale Technologie für Websites, bei denen sich der Inhalt auf der Grundlage des Nutzerverhaltens und der Präferenzen der Benutzer dynamisch anpasst. Dependency Injections stellen sicher, dass im Falle der Änderung einer Komponente andere Komponenten, die mit ihr in Zusammenhang stehen, automatisch mitgeändert werden.</p>



<h3 class="wp-block-heading">Die 3 verschiedenen Ladetechniken</h3>



<p>Bei der Arbeit mit Angular bieten sich 3 verschiedene Ladetechniken an. Diese sind das Eager Loading, Lazy Loading und Preloading, auf die ich nachfolgend eingehe.</p>



<p><strong>Eager Loading (Eifriges Laden)</strong></p>



<p>Der Abruf aller benötigten Daten möglichst wirksam und umgehend bzw. sofort. Hierzu gibt es im Grunde genommen nicht viel anzumerken. Die Technik ist zwar effizient, doch die Tatsache, dass man eventuell nur einen bestimmten Teil der Daten benötigt aber dennoch alle Daten lädt, kann sich schnell zu einem Nachteil entwickeln, wenn es sich um große Datenmengen handelt.</p>



<p><strong>Lazy Loading (Langsames Laden)</strong></p>



<p>Die am wenigsten eifrige bzw. nicht eifrige Ladetechnik. Wenn man faul ist, tut man so lange nichts, bis man es wirklich muss oder dazu gezwungen wird. Man stelle sich vor, dass die Anwendung drei Bereiche hat. Home, Admin und das Dashboard. Auf den Home-Bereich wird ständig zugegriffen, auf den Dashboard-Bereich die meiste Zeit. Der Admin-Bereich wird jedoch nur von einigen wenigen Nutzern verwendet. Folglich kann man die Admin-Route nach und nach laden. So lange niemand auf die Idee kommt, auf den Verwaltungsbereich der Anwendung zu klicken, wird der damit verbundene Code auch nicht ausgeführt bzw. nicht geladen.</p>



<p>Die Mehrheit der Nutzer lädt den Code für den Verwaltungsbereich schlichtweg nie. Wenn man also Lazy Loading verwendet, kann man grundsätzlich schneller auf die Anwendung zugreifen, da man nicht so viel Code vom Server laden muss. Dies hängt damit zusammen, dass das ORM-Werkzeug (Objekt-Relationales Mapping-Werkzeug) jeglichen Zugriff auf alle Objektreferenzen »abfangen« muss, um hier bei Bedarf die verbundenen Objekte nachladen zu können. Dieses Abfangen erfolgt durch die Verwendung bestimmter Klassen für Einzelreferenzen und Mengenklassen. Der Unterschied zwischen den ORM-Werkzeugen liegt darin, ob der Entwickler diese Klassen explizit im Code verwenden muss oder ob das ORM-Werkzeug diese beim Kompilieren oder zur Laufzeit austauscht.</p>



<p><strong>Preloading (Vorladen)</strong></p>



<p>Die „somewhere-in-between“ (Irgendwie Zwischendrin) Ladetechnik. Beim Preloading macht man im Grunde genommen dasselbe wie beim Lazy Loading, nur ein bisschen anders.</p>



<p>Anhand des Home, Dashboard und Admin Beispiels lässt sich dies folgendermaßen darstellen. Die Startseite braucht man immer. Also lädt man diese schnell bzw. eifrig. Der Admin-Bereich wird nur selten und nur von wenigen Benutzern benötigt, also kann man diesen erst einmal etwas vernachlässigen bzw. &#8222;lazy&#8220; laden. Aber das Dashboard ist nicht das Erste, was ein Benutzer sieht, also kann es grundsätzlich erst einmal warten. Doch das Dashboard ist gleichzeitig etwas, dass die meisten der Benutzer irgendwann sehen möchten. Also sollte es zumindest dann zur Verfügung stehen, wenn das Laden des Home-Bereichs fertiggestellt ist. Nach jeder erfolgreichen Navigation sucht der Router in seiner Konfiguration nach einem nicht geladenen Modul, das er vorladen kann.</p>



<p>Der Home-Bereich wird erfolgreich geladen und unmittelbar danach wird der Dashboard-Bereich im Hintergrund geladen.</p>



<h3 class="wp-block-heading">Welche Ladetechnik kann/soll ich nun verwenden?</h3>



<p>Wie bei vielen Angelegenheiten in der IT kommt es hier auf den spezifischen Anwendungsfall und den zur Verfügung stehenden Ressourcen an. Wenn man nicht genau weiß, ob man die zusätzlichen Daten benötigt oder nicht, dann kann es ungünstig sein, sie direkt zu laden. Es kann aber auch ungünstig sein, sie später nachladen zu müssen. Entscheidend bei der Entscheidung ist die Wahrscheinlichkeit, ob und wann man die jeweiligen Daten für wen benötigt, um welche Datenmenge es sich handelt und ob man die Daten später einfach nachladen kann. Zu beachten ist, dass man ein automatisches Nachladen, nach einer Serialisierung, in der Regel nicht mehr initiieren kann.</p>



<h3 class="wp-block-heading">Release-Frequenz</h3>



<p>Angular Releases folgen dem Konzept des Semantic Versionings. Man unterscheidet zwischen Major-, Minor- und Bugfix-Releases. Alle 6 Monate gibt es eine neue Major Release. Major Releases enthalten signifikante neue Features, sind aber nicht abwärtskompatibel. Der Umstieg auf eine neuere Major Release benötigt daher oft Update-Scripts, Refactorings des bestehenden Codes, weitere Tests und das Erlernen neuer APIs. Zu jeder Major Release gibt es ein bis drei Minor Releases. Patch Releases und Pre-Releases gibt es fast jede Woche.</p>



<h3 class="wp-block-heading">Support</h3>



<p>Der Support von Major Releases beträgt typischerweise 18 Monate lang nach Release. Davon 6 Monate aktiv. Aus diesem Grund gibt es in regelmäßigen Abständen Minor Releases und Patch Releases. Es folgt ein 12-monatiger Long Term Support (LTS) in Form von Patch-Releases, ausschließlich zur Behebung kritischer und sicherheitsrelevanter Fehler.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Bei der Verwendung von Angular sollte von vornherein klar sein, dass die Realisierung eines Projekts mit der Abnahme vieler Entscheidungen über Architektur und des Renderings verbunden ist. Dies hat den Vorteil, dass sich das Projektteam zu 100% auf die Umsetzung von Features konzentrieren kann und nicht die grundlegende Architektur eigenständig aufbauen muss.</p>



<p>Durch die sehr einheitliche Struktur von Angular Anwendungen lassen sich gute Entwickler sehr schnell in das Projekt integrieren, da Angular Anwendungen stets einer gewissen Struktur folgen. Dies vereinfacht die Skalierbarkeit des Teams als auch des Projektes selbst als vergleichsweise bei Individuallösungen der Architektur in anderen <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Frameworks</a>.</p>



<p>Generell ist es für Enterprise Projekte sicherlich eine gute Wahl. Dennoch sollte man andere <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Frameworks</a> wie <a href="https://ceosbay.com/2022/12/21/erklaerung-react/" target="_blank" rel="noreferrer noopener">React</a> und VueJS nicht außer Acht lassen, über die ich in den kommenden Tagen schreibe.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/21/erklaerung-angular/">Angular &#8211; Entfaltung des vollen Potenzials von Webanwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/21/erklaerung-angular/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1210</post-id>	</item>
		<item>
		<title>AJAX &#8211; Dynamische und interaktive Webanwendungen mit kurzen Ladezeiten</title>
		<link>https://ceosbay.com/2023/03/08/erklaerung-ajax/</link>
					<comments>https://ceosbay.com/2023/03/08/erklaerung-ajax/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Wed, 08 Mar 2023 21:32:00 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Dynamisch]]></category>
		<category><![CDATA[Effizienz]]></category>
		<category><![CDATA[Fazit]]></category>
		<category><![CDATA[Geschwindigkeit]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Interaktiv]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Modern]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1267</guid>

					<description><![CDATA[<p>AJAX steht für &#8222;Asynchronous JavaScript and XML&#8220; und bezieht sich auf eine Open Source Technologie, die es ermöglicht, Webanwendungen dynamischer und interaktiver zu gestalten, indem sie asynchron Daten zwischen dem Server und der Client-Seite austauscht. &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/08/erklaerung-ajax/">AJAX &#8211; Dynamische und interaktive Webanwendungen mit kurzen Ladezeiten</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>AJAX steht für &#8222;Asynchronous <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a> and <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a>&#8220; und bezieht sich auf eine <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open Source</a> Technologie, die es ermöglicht, Webanwendungen dynamischer und interaktiver zu gestalten, indem sie asynchron Daten zwischen dem Server und der Client-Seite austauscht. Dies vor allem, ohne dass man eine Website vollständig neu laden muss. AJAX wurde erstmals 2005 von Jesse James Garrett in einem Artikel für Adaptive Path beschrieben und hat seitdem die Art und Weise, wie man Webanwendungen entwickelt, grundlegend verändert.</p>



<h3 class="wp-block-heading">Funktionsweise und Vorteile von AJAX</h3>



<p>Eine der wichtigsten Vorteile von AJAX ist die Möglichkeit, Webanwendungen zu entwickeln, die schneller und reaktionsfähiger sind. Durch die Verwendung von AJAX müssen Benutzer nicht mehr warten, bis die gesamte Seite neu geladen ist, um Änderungen zu sehen. Stattdessen lädt man nur die benötigten Daten asynchron vom Server und zeigt diese aktualisierten Inhalte dann auf der Seite. Dies führt zu einer verbesserten Benutzererfahrung und einer höheren Interaktion der User.</p>



<p>Es arbeitet mit einer Kombination aus <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>, <a href="https://ceosbay.com/2022/12/29/erklaerung-html/" target="_blank" rel="noreferrer noopener">HTML</a>, CSS und dem <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a>httpsRequest-Objekt (XHR), um Daten asynchron zwischen dem Server und der Client-Seite auszutauschen. Das <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a>httpsRequest-Objekt ist eine API, die es <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a> ermöglicht, Daten über https oder https asynchron abzurufen oder zu senden, ohne die Seite neu zu laden. Mit Hilfe des XHR-Objekts können Entwickler Daten im <a href="https://ceosbay.com/2023/03/14/erklaerung-json/" target="_blank" rel="noreferrer noopener">JSON</a>-, <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/" target="_blank" rel="noreferrer noopener">XML</a>&#8211; oder Textformat abrufen oder senden.</p>



<p>Ein weiterer Vorteil von AJAX ist die Fähigkeit, auf Ereignisse und Interaktionen der Benutzer in Echtzeit zu reagieren. Entwickler können es verwenden, um Benutzeraktionen wie das Klicken auf Schaltflächen oder Links abzufangen und bestimmte Funktionen auszuführen, ohne die Seite neu zu laden. Dies ermöglicht es Entwicklern, dynamische und interaktive Benutzeroberflächen zu erstellen, die reaktionsschnell und benutzerfreundlich sind.</p>



<h3 class="wp-block-heading">Neben vielen Vorteilen gibt es auch einige Nachteile</h3>



<p>Nicht alle Browser unterstützen es vollständig. Einige ältere Browser können Probleme bei der Verarbeitung von AJAX-Code haben, was dazu führen kann, dass die Webanwendung nicht wie erwartet funktioniert. Entwickler müssen daher sicherstellen, dass man ihre Anwendungen auf allen gängigen Browsern testet, um eine optimale Funktionalität sicherzustellen. Da AJAX es ermöglicht, Daten in Echtzeit zwischen Server und Client zu übertragen, können Sicherheitsrisiken entstehen, wenn man nicht die richtigen Vorkehrungen trifft. Unzureichende Validierung von Benutzereingaben und unsichere Datenübertragungen können zu Sicherheitslücken führen, die böswillige Angreifer ausnutzen könnten. </p>



<p>Die Implementierung von AJAX kann sich relativ komplex gestalten. Insbesondere bei komplexen Anwendungen, die viele Interaktionen und eine große Datenverarbeitung erfordern. Entwickler müssen sorgfältig planen und organisieren, um sicherzustellen, dass ihre Anwendungen effizient und zuverlässig funktionieren.</p>



<p>Die Verwendung von AJAX kann zu Barrierefreiheitsproblemen führen, da einige Benutzer möglicherweise Probleme haben, auf dynamische Inhalte zuzugreifen, die man dann in Echtzeit aktualisiert. Entwickler müssen sicherstellen, dass ihre Anwendungen barrierefrei sind und für alle Benutzer gleichermaßen zugänglich sind.</p>



<p>Suchmaschinen können Schwierigkeiten haben, AJAX-basierte Inhalte zu indizieren und zu durchsuchen, was zu SEO-Problemen führen kann. Entwickler müssen sicherstellen, dass ihre Anwendungen für Suchmaschinen optimiert sind und dass die Indexierung der gesamten Inhalte möglich ist.</p>



<h3 class="wp-block-heading">Wo findet AJAX Einsatz?</h3>



<p>AJAX wird heute in einer Vielzahl von Anwendungen eingesetzt, darunter in sozialen Netzwerken, E-Commerce-Websites, Echtzeit-Chat-Anwendungen und auch in Spielen.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Zusammenfassend ist AJAX eine leistungsstarke Technologie, die die Art und Weise, wie man Webanwendungen entwickelt, grundlegend verändert. Durch die Verwendung von AJAX kann man Webanwendungen schneller und reaktionsfähiger machen. Es ermöglicht auch die Entwicklung von interaktiven Webanwendungen, die in Echtzeit auf Benutzeraktionen reagieren können, und bietet Plattformunabhängigkeit. Insgesamt bietet AJAX eine leistungsstarke Technologie für die Entwicklung moderner und interaktiver Webanwendungen. Es ist eine wichtige Technologie, die von vielen Webentwicklern und Unternehmen auf der ganzen Welt genutzt wird, um bessere Webanwendungen zu erstellen, die eine bessere Benutzererfahrung bieten.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/08/erklaerung-ajax/">AJAX &#8211; Dynamische und interaktive Webanwendungen mit kurzen Ladezeiten</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/08/erklaerung-ajax/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1267</post-id>	</item>
		<item>
		<title>JavaScript &#8211; Die Sprache für interaktive und dynamische Webanwendungen</title>
		<link>https://ceosbay.com/2022/11/12/javascript/</link>
					<comments>https://ceosbay.com/2022/11/12/javascript/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sat, 12 Nov 2022 06:00:00 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Acrobat]]></category>
		<category><![CDATA[Anwendungsentwicklung]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Bibliotheken]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Codestruktur]]></category>
		<category><![CDATA[Deklarativ]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[Dynamisch]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Frontend]]></category>
		<category><![CDATA[Geschichte]]></category>
		<category><![CDATA[Heute]]></category>
		<category><![CDATA[Imperativ]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Multiparadigmisch]]></category>
		<category><![CDATA[Multipragmatisch]]></category>
		<category><![CDATA[Objektorientiert]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Paradigmen]]></category>
		<category><![CDATA[Programmierer]]></category>
		<category><![CDATA[Quellcode]]></category>
		<category><![CDATA[Reac]]></category>
		<category><![CDATA[React]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Semantik]]></category>
		<category><![CDATA[Single]]></category>
		<category><![CDATA[Thread]]></category>
		<category><![CDATA[Three]]></category>
		<category><![CDATA[ThreeJs]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=510</guid>

					<description><![CDATA[<p>JavaScript ist eine der bekanntesten Skriptsprachen für Websites. Es ist eine leichtgewichtige, interpretierte und just-in-time kompilierte Software-Sprache, die erstklassige Funktionen nutzt. Viele Nicht-Browser-Umgebungen wie Adobe Acrobat, Apache CouchDB und Node.JS® nutzen JavaScript. Diese weit verbreitete &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/12/javascript/">JavaScript &#8211; Die Sprache für interaktive und dynamische Webanwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>JavaScript ist eine der bekanntesten Skriptsprachen für Websites. Es ist eine leichtgewichtige, interpretierte und just-in-time kompilierte Software-Sprache, die erstklassige Funktionen nutzt. Viele Nicht-Browser-Umgebungen wie Adobe Acrobat, Apache CouchDB und <a href="https://ceosbay.com/2022/11/11/node-js-mit-npm-auf-macos/">Node.JS®</a> nutzen JavaScript. Diese weit verbreitete Software-Sprache ist prototypenbasiert, deklarativ, imperativ, stark objektorientiert, single-thread, dynamisch und multiparadigmatisch. Die genannten Begriffe werden nachfolgend erklärt aber zu einem späteren Zeitpunkt in einen anderen Beitrag, bei dem ich verschiedene Paradigmen vorstelle, verschoben.</p>



<h3 class="wp-block-heading">Prototypenbasierte Programmierung</h3>



<p>Prototypenbasierte Programmierung, auch als klassenlose Objektorientierung bekannt, ist eine Form der objektorientierten Programmierung, die auf das Sprachelement der Klasse verzichtet. Objekte werden nicht durch Instanziierung (Der&nbsp;Prozess des Lesens oder des Angebens von Informationen) einer Klasse, sondern durch Klonen bereits existierender Objekte erzeugt. Bei diesem Klonen werden alle Eigenschaften (Attribute und Methoden) des Prototyp-Objektes kopiert. Sie können aber überschrieben werden, und das neue Objekt kann mit neuen Eigenschaften versehen werden. Hierzu aber in einem anderen Beitrag mehr.</p>



<h3 class="wp-block-heading">Deklarative Programmierung</h3>



<p>In der Informatik ist die deklarative Programmierung ein Programmierparadigma &#8211; ein Stil zum Aufbau der Struktur und der Elemente von Computerprogrammen -, dass die Logik einer Berechnung ausdrückt, ohne ihren Kontrollfluss zu beschreiben. Folglich wird im Quellcode festgelegt, was in welcher Reihenfolge und wie zu tun ist: „First do this and next do that / Erst dies und dann das tun“.  Ich werde dieses Thema aber noch in einem anderen Beitrag ausführlich behandeln.</p>



<h3 class="wp-block-heading">Imperative Programmierung</h3>



<p>Die Imperative Programmierung ist ein Programmierparadigma, nach dem „ein Programm aus einer Folge von Anweisungen besteht, die vorgeben, in welcher Reihenfolge was vom Computer getan werden soll. Auch dieses Thema wird später noch in einem anderen Beitrag genauer thematisiert.</p>



<h3 class="wp-block-heading">Objektorientierte Programmierung</h3>



<p>Die objektorientierte Programmierung (kurz OOP) ist ein auf dem Konzept der Objektorientierung basierendes Programmierparadigma. Die Grundidee besteht darin, die Architektur einer Software an den Grundstrukturen desjenigen Bereichs der Wirklichkeit auszurichten, der die gegebene Anwendung betrifft. Eines der wichtigsten Programmierparadigmen unserer Zeit. Ich werde noch einige Beiträge zur objektorientierten Programmierung erstellen.</p>



<h3 class="wp-block-heading">Single-thread</h3>



<p>In der Informatik bezeichnet Thread einen Ausführungsstrang oder eine Ausführungsreihenfolge in der Abarbeitung eines Programms. Ein Thread ist Teil eines Prozesses. In meiner Jugend kannte man diesen Begriff noch in Zusammenhang mit Multithreading bei Prozessoren. War damals für uns wie ein Traum. Aber auch zu diesen Begrifflichkeit in einem anderen Beitrag mehr.</p>



<h3 class="wp-block-heading">Dynamische Programmierung</h3>



<p>Die dynamische Programmierung dient zur Lösung eines Optimierungsproblems durch algorithmische Verfahren. Das Problem wird in Teilprobleme zergliedert und es werden systematisch Zwischenergebnisse gespeichert. Auch hierzu in einem späteren Beitrag mehr.</p>



<h3 class="wp-block-heading">Multiparadigmatische Programmiersprachen</h3>



<p>Eine Multiparadigmen Programmiersprache ist eine Programmiersprache, die zur Problemlösung mit verschiedenen Programmierparadigmen die geeigneten Sprachmittel besitzt.</p>



<h3 class="wp-block-heading">Java = / ≠ JavaScript</h3>



<p>Sowohl Java als auch JavaScript sind in den USA und anderen Ländern eingetragene Marken von Oracle. Sie sind aber keineswegs identisch. Obwohl sie ähnlich klingen, sind sie in Bezug auf Syntax, Semantik und Anwendung der Sprache im wirklichen Leben sehr unterschiedlich.</p>



<h3 class="wp-block-heading">Geschichte</h3>



<p>Brendan Eich (Ein Programmierer der Netscape Communication Corporation) hat JavaScript 1995 entwickelt. Offenbar brauchte er etwa 10 Tage, um Mocha zu entwickeln. Später wurde der Name der Sprache in Mona und dann in LiveScript geändert. Derzeit ist sie allgemein als JavaScript bekannt. 1996 wurde es von der ECMA übernommen, die JavaScript mit der ECMAScript Language Specification und den ECMAScript Internationalized API Spezifikationen versah. Im Jahr 2005 traten Eich und Mozilla der ECMA bei, und die JavaScript-Gemeinschaft blühte auf. Im Jahr 2016 nutzten 92 % der Websites JavaScript, von großen Tech-Giganten wie Facebook und Google bis hin zu kleinen Start-Ups, wie <a href="https://www.coezbay.com" target="_blank" rel="noreferrer noopener">meines</a>.</p>



<h3 class="wp-block-heading">Heute</h3>



<p>Derzeit wird die Sprache immer noch überall eingesetzt und ist eine der am häufigsten verwendeten clientseitigen Skriptsprachen. Von 1995 bis heute hat JavaScript einen langen Weg zurückgelegt. Heutzutage wird es innerhalb von HTML-Elementen geschrieben, um Dynamik in Webprojekten und konventionellen Desktop-Anwendungen zu ermöglichen. So ziemlich alle Echtzeit Onlinespiele beinhalten die Sprache. Viele andere Technologien wurden auf der Grundlage von JavaScript entwickelt, zum Beispiel <a href="https://ceosbay.com/2022/11/11/node-js-mit-npm-auf-macos/">NodeJS®</a> &#8211; welches ich in einem anderen Beitrag kurz angeschnitten habe, React &#8211; was ich in einem anderen Beitrag thematisieren werde. JavaScript ist zwar alt und hat eine komplexe Vergangenheit, doch genau diese Tatsache haben wir es zu verdanken, dass sie auch enorm großes Spektrum an Bibliotheken und Frameworks bietet. Hierzu nachfolgend mehr.</p>



<h3 class="wp-block-heading">JavaScript-Bibliotheken</h3>



<p><a href="https://dev.to/t/discuss"></a>Um die Programmierung zu erleichtern, gibt es, wie bereits erwähnt, Unmengen an sogenannter JavaScript-Bibliotheken und -Frameworks. Diese Bibliotheken werden verwendet, um Code für komplexere Funktionalitäten schneller schreiben zu können. Sie ermöglichen es Entwicklern, vorgefertigte Code-Snippets zu nutzen und eigene Code-Snippets für die zukünftige Verwendung zu erstellen und zu speichern. Wenn man solch eine Bibliothek für seine eigenen Routinen erstellt hat und Herr dieser Daten ist, sind auch Zeit- als auch Arbeitsersparnisse die daraus resultieren immens. Beispiele für JavaScript-Bibliotheken sind: jQuery, ReactJS, Google Polymer, Dojo-Toolkit und Three.js. Wobei Three.js eine browserübergreifende JavaScript-Bibliothek und gleichzeitig eine Anwendungsprogrammierschnittstelle zur Erstellung und Anzeige animierter 3D-Computergrafiken in einem Webbrowser mit WebGL darstellt. Letzteres ist eines meiner Lieblingsdinge, mit denen ich mich beruflich als auch privat gerne beschäftige.</p>



<h3 class="wp-block-heading">JavaScript-Frameworks</h3>



<p>JavaScript-Frameworks sind Vorlagen, die eine Codestruktur vorgeben, der man folgen kann. Dadurch wird die Entwicklung teilweise erleichtert. Doch gleichzeitig schränkt es einen auch in gewisser Weise ein, da man als Entwickler gewisse Regeln beachten muss. Beispiele für JavaScript-Frameworks sind. beispielsweise Vue.js, AngularJS und Apache Royale.</p>



<p>Übrigens: Wenn JavaScript ohne die Verwendung von Bibliotheken oder Frameworks geschrieben, wird es als „Vanilla-JavaScript“ bezeichnet.</p>



<h3 class="wp-block-heading">Clientseitiges JavaScript und serverseitiges JavaScript</h3>



<p>JavaScript kann sowohl clientseitig als auch serverseitig genutzt werden. Clientseitiges JavaScript ermöglicht die Manipulation von Browsern und Webseiten. Es führt das Skript im Browser des Nutzers aus und ist eine der häufigsten Verwendungsformen von JavaScript. Ich habe hierzu in einem anderen <a href="https://ceosbay.com/2022/10/30/aus-alt-mach-neu/">Beitrag</a> ein paar Zeilen geschrieben bzw. es findet in der Three.js Web-Anwendung statt, die im Header Bereich <a href="https://cagatayoezbay.com">meiner persönlichen Website</a> zum Einsatz kommt.</p>



<p>Serverseitiges JavaScript läuft nicht im Browser, sondern auf dem Server. Generell ist es weniger verbreitet als clientseitiges JavaScript. Ein Beispiel für ein beliebtes serverseitiges Scripting-Framework für JavaScript ist <a href="https://ceosbay.com/2022/11/11/node-js-mit-npm-auf-macos/">NodeJS®</a>.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>JavaScript ist eine der wichtigsten Programmiersprachen. Sie ist sehr dynamisch und wird sowohl in der Anwendungs-, Frontend- als auch in der Backend-Webentwicklung verwendet.</p>



<p>Angesichts der möglichen Auswirkungen auf die Geschwindigkeit und Performance der Anwendung oder Webseite ist es wichtig zu verstehen, wie JavaScript funktioniert. Anhand von Best Practices kann man lernen, effektiver zu programmieren und die Leistung seiner Anwendungen und Webseiten zu verbessern. Auch in Bezug auf SEO (Search Engine Optimization = Suchmaschinenoptimierung &#8211; Die Maßnahmen, die dazu dienen, um die Sichtbarkeit einer Webseite und ihrer Inhalte für Benutzer einer Suchmaschine bzw. die Auffindbarkeit zu erhöhen) spielt dies eine sehr große Rolle. Aber das Thema SEO werde ich in einem späteren Beitrag thematisieren.<br></p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/12/javascript/">JavaScript &#8211; Die Sprache für interaktive und dynamische Webanwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/11/12/javascript/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">510</post-id>	</item>
	</channel>
</rss>
