<?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>iOS Archive - CEOsBay</title>
	<atom:link href="https://ceosbay.com/tag/ios/feed/" rel="self" type="application/rss+xml" />
	<link>https://ceosbay.com/tag/ios/</link>
	<description>It&#039;s all about Tech</description>
	<lastBuildDate>Tue, 26 Sep 2023 06:19:15 +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>iOS Archive - CEOsBay</title>
	<link>https://ceosbay.com/tag/ios/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">211828771</site>	<item>
		<title>Xcode &#8211; Wo Ideen zu Apple-Apps werden</title>
		<link>https://ceosbay.com/2023/09/26/xcode-wo-ideen-zu-apple-apps-werden/</link>
					<comments>https://ceosbay.com/2023/09/26/xcode-wo-ideen-zu-apple-apps-werden/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Tue, 26 Sep 2023 14:18:00 +0000</pubDate>
				<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Softwarequalität]]></category>
		<category><![CDATA[Spieleentwicklung]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[Testautomatisierung]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[API-Integration]]></category>
		<category><![CDATA[App Lifecycle]]></category>
		<category><![CDATA[App-Design]]></category>
		<category><![CDATA[App-Entwicklung]]></category>
		<category><![CDATA[App-Store-Veröffentlichung]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Apple-Geräte]]></category>
		<category><![CDATA[ARKit]]></category>
		<category><![CDATA[Asset-Management]]></category>
		<category><![CDATA[Auto Layout]]></category>
		<category><![CDATA[Betas]]></category>
		<category><![CDATA[Build-System]]></category>
		<category><![CDATA[Code Templates]]></category>
		<category><![CDATA[Code-Editor]]></category>
		<category><![CDATA[Code-Optimierung]]></category>
		<category><![CDATA[Code-Refactoring]]></category>
		<category><![CDATA[Code-Signatur]]></category>
		<category><![CDATA[Compiler]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Core Data]]></category>
		<category><![CDATA[Dark Mode]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Gesten-Erkennung]]></category>
		<category><![CDATA[Instruments]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Interface Builder]]></category>
		<category><![CDATA[Interface Gestaltung]]></category>
		<category><![CDATA[Interface-Design]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Mac Catalyst]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Memory-Management]]></category>
		<category><![CDATA[Metal]]></category>
		<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Multithreading]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Performance-Testing]]></category>
		<category><![CDATA[Playgrounds]]></category>
		<category><![CDATA[Profiling]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[RealityKit]]></category>
		<category><![CDATA[Simulator]]></category>
		<category><![CDATA[Source Control]]></category>
		<category><![CDATA[SWIFT]]></category>
		<category><![CDATA[SwiftUI]]></category>
		<category><![CDATA[Toolkit]]></category>
		<category><![CDATA[tvOS]]></category>
		<category><![CDATA[VoiceOver]]></category>
		<category><![CDATA[WatchOS]]></category>
		<category><![CDATA[XCode]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=2524</guid>

					<description><![CDATA[<p>Xcode, das offizielle Entwicklungs-Toolkit von Apple, bietet alles, was Entwickler benötigen, um Apps für Mac, iPhone, iPad, Apple Watch und Apple TV zu erstellen. In diesem Beitrag biete ich einen umfassenden Einblick in Xcode. Die &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/09/26/xcode-wo-ideen-zu-apple-apps-werden/">Xcode &#8211; Wo Ideen zu Apple-Apps werden</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Xcode, das offizielle Entwicklungs-Toolkit von Apple, bietet alles, was Entwickler benötigen, um Apps für Mac, iPhone, iPad, Apple Watch und Apple TV zu erstellen. In diesem Beitrag biete ich einen umfassenden Einblick in Xcode. Die Geschichte und wie man es optimal einrichtet und verwendet.</p>



<h2 class="wp-block-heading">Geschichte von Xcode</h2>



<p>Apple präsentierte es erstmals im Jahr 2003. Es diente als Nachfolger der NeXTSTEP-Entwicklungstools, die Apple durch den Kauf von NeXT im Jahr 1997 erwarb. Es hat seinen Ursprung im Bestreben von Apple, den Entwicklern eine effiziente und intuitive Umgebung zu bieten, in der sie qualitativ hochwertige Apps für die wachsende Palette von Apple-Produkten erstellen können.</p>



<h2 class="wp-block-heading">Aufsetzen von Xcode</h2>



<p>Das Installieren und Einrichten gestaltet sich denkbar einfach:</p>



<ol class="wp-block-list">
<li><strong>Download und Installation</strong>: Xcode steht im Mac App Store zur Verfügung. Ein einfacher Suchbegriff danach führt direkt zum Download-Button.</li>



<li><strong>Erstes Öffnen</strong>: Nach der Installation das Programm starten. Hier kann man ein neues Projekt erstellen oder ein bestehendes öffnen.</li>



<li><strong>Wichtige Einstellungen</strong>: In den Einstellungen lassen sich viele individuelle Anpassungen vornehmen, etwa die Auswahl eines Themes oder die Konfiguration der Texteditor-Eigenschaften.</li>
</ol>



<h2 class="wp-block-heading">Best Practices bei der Nutzung von Xcode</h2>



<p>Um das Beste herauszuholen, empfehlen sich folgende Praktiken:</p>



<ul class="wp-block-list">
<li><strong>Regelmäßige Aktualisierungen</strong>: Apple veröffentlicht regelmäßig Updates. Diese bringen oft neue Funktionen, Bugfixes und Performance-Verbesserungen mit sich. (An dieser Stelle macht es Sinn, meinen Beitrag über das <a href="https://ceosbay.com/2023/07/15/pestizid-paradoxon-resistenz-von-bugs-und-fehlern/">Pestizid Paradoxon</a> zu erwähnen)</li>



<li><strong>Nutzung der Interface Builder</strong>: Dieses visuelle Tool ermöglicht das einfache Design von Benutzeroberflächen per Drag-and-Drop.</li>



<li><strong>Effektive Nutzung von Simulatoren</strong>: Es bietet Simulatoren für alle Apple-Geräte. Sie sind unerlässlich für das Testen von Apps unter verschiedenen Bedingungen und Bildschirmgrößen.</li>



<li><strong>Verwendung von Profiling-Tools</strong>: Instruments, ein in Xcode integriertes Tool, hilft dabei, Engpässe in der App-Performance zu identifizieren und zu beheben.</li>
</ul>



<h2 class="wp-block-heading">ARKit &#8211; Eine Revolution in der Augmented Reality</h2>



<p>ARKit, von Apple entwickelt und in iOS eingeführt, markiert einen Wendepunkt in der Welt der Augmented Reality (AR). Dieses Framework ermöglicht Entwicklern das Erstellen von beeindruckenden AR-Erlebnissen für iPhone und iPad. ARKit nutzt dabei hochentwickelte Algorithmen, um die Kamera-Bildinformationen und Bewegungssensordaten zu kombinieren und so die Position des Geräts in der realen Welt zu verfolgen. Es unterstützt auch die Erkennung von horizontalen und vertikalen Flächen, Gesichtserkennung und 3D-Objekterkennung. Mit jedem Update erweitert Apple die Fähigkeiten von ARKit, wodurch Entwickler noch tiefere und immersivere AR-Erfahrungen schaffen können. Egal, ob es um virtuelle Möbelplatzierung, interaktive Spiele oder Lernanwendungen geht, ARKit treibt die Möglichkeiten der Augmented Reality auf Apple-Geräten voran.</p>



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



<p>Xcode steht im Zentrum der Apple-Entwicklungswelt. Von seinen Anfängen im Jahr 2003 bis heute hat es sich stetig weiterentwickelt und bietet Entwicklern eine leistungsstarke Umgebung, um erstklassige Apps zu erstellen. Durch die Beachtung von Best Practices und eine effektive Nutzung der in Xcode integrierten Tools können Entwickler ihre Produktivität steigern und qualitativ hochwertige Produkte liefern. In den kommenden Wochen habe ich auf jeden Fall noch vor, die ein oder andere kleine App vorzustellen. In diesem Kontext bietet es sich auch an, den Workflow anzuschauen, wie man effektiv Apps in und mit Xcode erstellen kann.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/09/26/xcode-wo-ideen-zu-apple-apps-werden/">Xcode &#8211; Wo Ideen zu Apple-Apps werden</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/09/26/xcode-wo-ideen-zu-apple-apps-werden/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2524</post-id>	</item>
		<item>
		<title>C# &#8211; Als Brücke zwischen Innovation und Benutzererfahrung</title>
		<link>https://ceosbay.com/2023/04/19/c-als-bruecke-zwischen-innovation-und-benutzererfahrung/</link>
					<comments>https://ceosbay.com/2023/04/19/c-als-bruecke-zwischen-innovation-und-benutzererfahrung/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Wed, 19 Apr 2023 14:30:00 +0000</pubDate>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[#]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[C+]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Drittanbieter]]></category>
		<category><![CDATA[Entwicklungen]]></category>
		<category><![CDATA[Frame]]></category>
		<category><![CDATA[Funktionen]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Integrated]]></category>
		<category><![CDATA[Interoperabilität]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JIT]]></category>
		<category><![CDATA[Klassen]]></category>
		<category><![CDATA[Kollektionen]]></category>
		<category><![CDATA[Lambda]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Natur]]></category>
		<category><![CDATA[NetCore]]></category>
		<category><![CDATA[Objekt]]></category>
		<category><![CDATA[Ökosystem]]></category>
		<category><![CDATA[Parameter]]></category>
		<category><![CDATA[Plattform]]></category>
		<category><![CDATA[Programmiersprache]]></category>
		<category><![CDATA[Proprietäre]]></category>
		<category><![CDATA[Query]]></category>
		<category><![CDATA[refs]]></category>
		<category><![CDATA[Sharp]]></category>
		<category><![CDATA[Skalierbarkeit]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Studio]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity3D]]></category>
		<category><![CDATA[Visual]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[Wolke]]></category>
		<category><![CDATA[Xamarin]]></category>
		<category><![CDATA[XM]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1741</guid>

					<description><![CDATA[<p>In der Welt der Programmierung ist C# (ausgesprochen &#8222;C-Sharp&#8220;) eine der am häufigsten verwendeten und vielseitigsten Programmiersprachen. Entwickelt von Microsoft als Teil der .NET-Initiative. Hat sich C# seit seiner Einführung im Jahr 2000 rasant weiterentwickelt &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/04/19/c-als-bruecke-zwischen-innovation-und-benutzererfahrung/">C# &#8211; Als Brücke zwischen Innovation und Benutzererfahrung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In der Welt der Programmierung ist C# (ausgesprochen &#8222;C-Sharp&#8220;) eine der am häufigsten verwendeten und vielseitigsten Programmiersprachen. Entwickelt von Microsoft als Teil der .NET-Initiative. Hat sich C# seit seiner Einführung im Jahr 2000 rasant weiterentwickelt und ist heute eine der Top-Programmiersprachen. Ich habe mich erst intensiver damit beschäftigt, als ich Unity 3D kennengelernt habe. Im Kontext der Echtzeit 3D Visualisierung und Spieleentwicklung. Anfangs noch für Serious Games und später auch für konventionelle Spiele. In diesem Blogbeitrag befasse ich mich aber lediglich mit der Geschichte und Entwicklung von C# selbst. Für Unity gibt es dann einen gesonderten Beitrag.</p>



<h3 class="wp-block-heading">Kurze Zeitreise</h3>



<p>Die Geschichte von C# beginnt im Jahr 1999. Als Microsoft-Entwickler Anders Hejlsberg und sein Team an einer neuen Programmiersprache namens &#8222;Cool&#8220; (kurz für &#8222;C-like Object Oriented Language&#8220;) arbeiteten. Das Projekt, Teil von Microsofts größerer .NET-Initiative, eine einheitliche Plattform für die Entwicklung von Webdiensten, Desktop-Anwendungen und verteilter Systeme zu schaffen. Cool sollte leistungsstark und einfach zu erlernen sein. Die Elemente von C, <a href="https://ceosbay.com/2023/02/25/erklaerung-c/">C++</a>, <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java</a> und Delphi in einer Programmiersprache vereint.</p>



<h4 class="wp-block-heading">Die ersten Schritte (2000-2002)</h4>



<p>Im Juni 2000 kam die offizielle Vorstellung von Microsoft C#. Es war von Anfang an eng mit dem .NET-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a> verknüpft. Die Veröffentlichung der ersten Version von C# und dem .NET-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a> (Version 1.0) folgte im Jahr 2002. Sie bot grundlegende Funktionen für objektorientierte Programmierung, wie Klassen, Objekte, Vererbung und Polymorphismus. Auch wenn diese Version noch nicht über einige der leistungsfähigen Funktionen verfügte, die man in späteren Versionen hinzugefügte. War es dennoch eine attraktive Option für Entwickler, die eine Alternative zu <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java</a> oder <a href="https://ceosbay.com/2023/02/25/erklaerung-c/">C++</a> suchten.</p>



<h4 class="wp-block-heading">Weiterentwicklung und Verbesserungen (2002-2010)</h4>



<p>In den folgenden Jahren entwickelte sich C# kontinuierlich weiter, zahlreiche neue Funktionen und Verbesserungen kamen nach und nach hinzu. C# 2.0, dessen Veröffentlichung im Jahr 2005 stattfand, führte Generics, partielle Klassen, anonyme Methoden und Nullable-Werttypen ein. Diese Verbesserungen erleichterten die Programmierung und erweiterten die Möglichkeiten von C# erheblich.</p>



<p>C# 3.0 dann im Jahr 2007. Es brachte eine der bahnbrechendsten Neuerungen der Sprache: Language Integrated Query (LINQ) ins Spiel. LINQ ist eine Sammlung von Funktionen, die es ermöglichen, Daten aus verschiedenen Quellen (wie <a href="https://ceosbay.com/2022/10/29/structured-query-language-sql/">SQL</a>-Datenbanken, <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/">XML</a>-Dokumenten und in-memory Kollektionen) zu verarbeiten. Direkt in C#, und außerdem, zu manipulieren. Diese Version führte auch anonyme Typen, Erweiterungsmethoden und Lambda-Ausdrücke ein, was die Sprache noch flexibler und ausdrucksstärker machte.</p>



<p>Mit C# 4.0, das 2010 erschien, kamen einige wichtige Funktionen hinzu. Diese verbesserten die Interoperabilität von C# mit anderen Technologien und Programmiersprachen. Dazu gehörten dynamische Typen, benannte und optionale Parameter sowie verbesserte COM-Interoperabilität.</p>



<h4 class="wp-block-heading">Aktuelle Entwicklungen (2010-heute)</h4>



<p>C# 5.0, im Jahr 2012. Es fokussierte sich hauptsächlich auf die Verbesserung der asynchronen Programmierung durch die Einführung von Async und Await Keywords. Diese Funktionen ermöglichen es Entwicklern, heute noch, asynchronen Code auf einfache und saubere Weise zu schreiben. So kann man Anwendungen erstellen, die dadurch heute schneller und reaktionsfähiger sind.</p>



<p>Seitdem kamen weitere Versionen von C#, die jeweils neue Funktionen und Verbesserungen enthielten. C# 6.0 (2015) brachte einige Syntaktische Vereinfachungen wie Auto-Property-Initialisierer, Expression-bodied-Mitglieder, Nullbedingungsoperator (?.) und String-Interpolation.</p>



<p>Gefolgt von C# 7.0 (2017). Es kamen Tuples, Pattern Matching, lokale Funktionen und erweiterte Möglichkeiten für das Arbeiten mit Werttypen durch die Einführung von ref locals und ref returns mit rein.</p>



<p>Und C# 8.0 (2019) legte einen Schwerpunkt auf die Verbesserung von Sicherheit und Produktivität, indem es Funktionen wie Nullable Reference Types, Asynchronous Streams, Pattern Matching Enhancements, Indices und Ranges sowie Default Interface Members einführte.</p>



<p>Zuletzt C# 9.0 im Jahr 2020, dass sich auf die Verbesserung von Programmiersprachfunktionen konzentrierte. Dadurch konnte man den Umgang mit Daten und den Ausdruck von Algorithmen vereinfachen. Dazu gehörten beispielsweise Init-only-Properties, Records, Pattern Matching Enhancements, Top-Level-Statements und Target-typed New Expressions.</p>



<p>Parallel zur Entwicklung von C# hat Microsoft auch an der .NET-Plattform gearbeitet. Im Jahr 2016 veröffentlichte das Unternehmen .NET Core, eine plattformübergreifende, modulare und leichte Version von .NET, die für moderne Web- und <a href="https://ceosbay.com/2022/11/30/erklaerung-cloud-computing/">Cloud</a>-Anwendungen optimiert ist. Seit der Veröffentlichung von .NET 5 im Jahr 2020 hat Microsoft die traditionellen .NET-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Frameworks</a> und .NET Core vereint und setzt nun auf eine einzige .NET-Laufzeit und -Plattform.</p>



<h3 class="wp-block-heading">Vorteile von C#</h3>



<ul class="wp-block-list">
<li><strong>Vielseitigkeit</strong>: Es eignet sich für eine breite Palette von Anwendungen und Projekten. Es wird häufig für die Entwicklung von Webanwendungen, Windows-Anwendungen, <a href="https://ceosbay.com/2022/11/30/erklaerung-cloud-computing/">Cloud</a>-basierten Diensten, Spielen, mobilen Anwendungen und sogar KI-Projekten verwendet.</li>



<li><strong>Objektorientierung</strong>: Es ist eine vollständig objektorientierte Sprache, was bedeutet, dass sie auf dem Prinzip der Kapselung von Daten und Verhalten innerhalb von Objekten basiert. Dies ermöglicht eine saubere Trennung von Anliegen und fördert Wiederverwendbarkeit und Erweiterbarkeit des Codes.</li>



<li><strong>Einfache und klare Syntax</strong>: Die Syntax von C# ist einfach und leicht verständlich, wodurch Programmierer schneller lernen und produktiver sein können. Die Sprache ist weniger fehleranfällig und erlaubt Entwicklern, effizienter und mit weniger Fehlern zu arbeiten.</li>



<li><strong>Leistungsstarke Entwicklungsumgebungen</strong>: C# wird von einer Vielzahl von Entwicklungsumgebungen unterstützt, insbesondere von <a href="https://ceosbay.com/2023/02/22/visual-studio-code-der-leichte-schwergewicht/">Visual Studio Code</a>, einer leistungsstarken integrierten Entwicklungsumgebung (IDE) von Microsoft. Dies ermöglicht Programmierern, schnell und effizient zu arbeiten, Code zu schreiben, zu testen und zu debuggen.</li>



<li><strong>Unterstützung und Gemeinschaft</strong>: Da C# von Microsoft entwickelt und unterstützt wird, profitiert die Sprache von einer starken Gemeinschaft und einer breiten Palette von Ressourcen, einschließlich Online-Tutorials, Dokumentationen und Foren. Die C#-Community ist bekannt für ihre Hilfsbereitschaft und ihr Engagement, neue Programmierer willkommen zu heißen und bei Problemen zu unterstützen.</li>



<li><strong>Interoperabilität</strong>: C# bietet eine hervorragende Interoperabilität mit anderen .NET-Sprachen und -Technologien. Durch die Nutzung der .NET-Bibliotheken und &#8211;<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Frameworks</a> können Entwickler eine Vielzahl von Funktionalitäten in ihren Anwendungen leicht implementieren und erweitern.</li>



<li><strong>Skalierbarkeit und Leistung</strong>: C#-Anwendungen sind für ihre Leistung und Skalierbarkeit bekannt. Durch die Verwendung des Just-In-Time (JIT)-Compilers und anderer Optimierungstechniken bietet C# schnelle Ausführungszeiten und geringe Latenzzeiten, was für Anwendungen mit hohen Anforderungen an Geschwindigkeit und Reaktionsfähigkeit unerlässlich ist.</li>



<li><strong>Plattformübergreifende Entwicklung</strong>: Mit der Einführung von .NET Core und Xamarin ermöglicht C# die plattformübergreifende Entwicklung von Anwendungen für Windows, MacOS, <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a>, iOS und Android. Dies eröffnet Entwicklern eine Vielzahl neuer Möglichkeiten und macht die Sprache noch attraktiver für Unternehmen und Entwickler.</li>
</ul>



<h3 class="wp-block-heading">Nachteile von C#</h3>



<p>Obwohl es eine leistungsstarke und vielseitige Programmiersprache ist, gibt es einige Nachteile, die man beachten sollte, bevor man sich für diese Sprache entscheidet. Hier sind einige der wichtigsten:</p>



<ul class="wp-block-list">
<li><strong>Leistung</strong>: Trotz der Verbesserungen in der Laufzeitumgebung und den Optimierungstechniken von .NET ist die Leistung von C#-Anwendungen möglicherweise nicht so gut wie die von Anwendungen, die in niedrigeren Programmiersprachen wie C oder <a href="https://ceosbay.com/2023/02/25/erklaerung-c/">C++</a> geschrieben sind. Die Verwendung von Just-In-Time (JIT)-Kompilierung und Garbage Collection kann zu einem gewissen Laufzeit-Overhead führen.</li>



<li><strong>Plattformabhängigkeit</strong>: Historisch gesehen war C# stark an das Windows-Ökosystem und die .NET-Plattform gebunden. Obwohl die Einführung von .NET Core und Xamarin die plattformübergreifende Entwicklung ermöglicht hat, ist die Unterstützung und Integration von C# in Nicht-Windows-Umgebungen möglicherweise nicht so nahtlos wie bei einigen anderen Programmiersprachen, insbesondere <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java</a>. Mir ist dies besonders aufgefallen, als ich zeitgleich für Android und iOS Devices kompiliert habe. Man muss einige Dinge beachten und Drittanbieter-Software installieren, um überhaupt vom Fleck zu kommen.</li>



<li><strong>Lernkurve</strong>: Obwohl es im Vergleich zu einigen anderen Programmiersprachen relativ einfach zu erlernen ist, kann es dennoch eine gewisse Zeit dauern, sich mit allen Funktionen und Konzepten der Sprache vertraut zu machen, insbesondere wenn man noch keine Erfahrung mit objektorientierter Programmierung hat.</li>



<li><strong>Größe des Ökosystems:</strong> Während das .NET-Ökosystem umfangreich ist und viele Bibliotheken und <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Frameworks</a> bietet, kann es sein, dass bestimmte Drittanbieter-Bibliotheken oder -Tools nicht verfügbar sind oder nicht so umfangreich wie in einigen anderen Programmiersprachen.</li>



<li><strong>Proprietäre Natur:</strong> C# von Microsoft ist eine proprietäre Sprache. Obwohl es <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Implementierungen gibt (z.B. .NET Core und Xamarin), hängt die Entwicklung der Sprache und der zugehörigen Tools stark von Microsofts Strategie und Vision ab. Einige Entwickler ziehen es vor, sich auf <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Programmiersprachen wie <a href="https://ceosbay.com/2022/12/20/erklaerung-python/">Python</a> oder <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java</a> zu konzentrieren, die nicht ein einzelnes Unternehmen kontrolliert.</li>
</ul>



<h3 class="wp-block-heading">Anwendungsbeispiele für C#</h3>



<ul class="wp-block-list">
<li><strong>Webanwendungen</strong>: Es ist eine beliebte Wahl für die Entwicklung von Webanwendungen, insbesondere mit dem ASP.NET-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a>. ASP.NET Core ist ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Webframework, das auf .NET Core basiert und die Entwicklung von modernen, leistungsstarken Webanwendungen ermöglicht.</li>



<li><strong>Windows-Anwendungen</strong>: Es eignet sich hervorragend für die Entwicklung von Windows-Desktop-Anwendungen. Mit dem Windows Presentation Foundation (WPF) <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a> können Entwickler ansprechende Benutzeroberflächen und robuste Anwendungen erstellen.</li>



<li><strong>Mobile Anwendungen</strong>: Mit Hilfe von Xamarin, einer plattformübergreifenden App-Entwicklungsumgebung, können Entwickler C# verwenden, um native Anwendungen für iOS, Android und Windows Mobile zu erstellen.</li>



<li><strong>Spieleentwicklung</strong>: Die Unity-Engine, eine der weltweit führenden Spieleentwicklungsplattformen, unterstützt C# als Skriptsprache. Dies ermöglicht es Entwicklern, anspruchsvolle und leistungsfähige Spiele für verschiedene Plattformen zu entwickeln.</li>
</ul>



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



<p>C# hat sich seit seiner Einführung zu einer der bevorzugten Programmiersprachen für Entwickler und Unternehmen entwickelt. Mit seiner Vielseitigkeit, leistungsstarken Entwicklungsumgebungen, der starken Unterstützung durch Microsoft und einer engagierten Community bietet C# eine hervorragende Grundlage für die Entwicklung einer Vielzahl von Anwendungen. Wenn man in Betracht zieht, eine neue Programmiersprache zu erlernen oder ein neues Projekt zu starten, sollte man auf jeden Fall die vielen Vorteile von C# in Betracht ziehen.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/04/19/c-als-bruecke-zwischen-innovation-und-benutzererfahrung/">C# &#8211; Als Brücke zwischen Innovation und Benutzererfahrung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/04/19/c-als-bruecke-zwischen-innovation-und-benutzererfahrung/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1741</post-id>	</item>
		<item>
		<title>Signal &#8211; Vertrauliche Kommunikation und Datenschutz?</title>
		<link>https://ceosbay.com/2022/11/21/erklaerung-signal/</link>
					<comments>https://ceosbay.com/2022/11/21/erklaerung-signal/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Mon, 21 Nov 2022 17:22:48 +0000</pubDate>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Soziale Medien]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[App]]></category>
		<category><![CDATA[E2EE]]></category>
		<category><![CDATA[Facenook]]></category>
		<category><![CDATA[FBI]]></category>
		<category><![CDATA[Freedom of Information]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Kommunikation]]></category>
		<category><![CDATA[Messenger]]></category>
		<category><![CDATA[MiTM]]></category>
		<category><![CDATA[Nachrichten]]></category>
		<category><![CDATA[Nachrichten-App]]></category>
		<category><![CDATA[Perfect Forward Secrecy]]></category>
		<category><![CDATA[PIN]]></category>
		<category><![CDATA[Signal]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[SQLCipher]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[WhatsApp]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=644</guid>

					<description><![CDATA[<p>Signal &#8211; Nachdem ich bereits ein paar Instant Messenger unter die Lupe genommen habe, darf eines der &#8222;sichereren&#8220; Messenger nicht fehlen.&#160;Signal ist ein „freier“ bzw. „Open Source“ Messenger für verschlüsselte Kommunikation der US-amerikanischen, gemeinnützigen Signal-Stiftung. &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/21/erklaerung-signal/">Signal &#8211; Vertrauliche Kommunikation und Datenschutz?</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Signal &#8211; Nachdem ich bereits ein paar Instant Messenger unter die Lupe genommen habe, darf eines der &#8222;sichereren&#8220; Messenger nicht fehlen.&nbsp;Signal ist ein „freier“ bzw. „<a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a>“ Messenger für verschlüsselte Kommunikation der US-amerikanischen, gemeinnützigen Signal-Stiftung. Warum ich dies in Anführungszeichen gesetzt habe, wird in den nächsten Zeilen erklärt. Der Messenger ist vor allem für die Datensparsamkeit bzw. E2EE (Ende-zu-Ende-Verschlüsselung) bekannt und wurde daher häufig von Sicherheitsexperten und Datenschutzorganisationen gelobt bzw. empfohlen.</p>



<h3 class="wp-block-heading">Zero-Knowledge-Prinzip </h3>



<p>Für die Datensparsamkeit wird das „Zero-Knowledge-Prinzip“ genutzt, bei dem der Betreiber keinerlei Zugriff auf Nutzerdaten hat, was unter anderem auch eine FOIA-Anfrage (FOIA &#8211;&nbsp;Der Freedom of Information Act ist ein, seit 1967, in den USA, in Kraft getretenes Gesetz, zur Informationsfreiheit und gibt jedem das Recht, Zugang zu Dokumenten von staatlichen Behörden zu verlangen) an das FBI bestätigte.</p>



<h3 class="wp-block-heading">Auf welchen Geräten kann Signal genutzt werden?</h3>



<p>Signal ist als App für Android und iOS sowie als Desktop-Version für Windows, macOS und Linux verfügbar. Auf eine Web-Version wurde aus Sicherheitsgründen verzichtet. Die Desktop-Version setzt allerdings voraus, dass die App bereits auf einem Smartphone installiert ist und durch dieses verifiziert wird. Eine anonyme oder pseudonyme Nutzung ohne Offenlegung der Rufnummer gegenüber Gesprächsteilnehmern ist weder mit der Smartphone-App noch mit der Desktop-Version möglich. Für die Verschlüsselung von Nachrichten, Anrufe und Videotelefonie kommt das „freie“ (Achtung – Auch hier sind Anführungszeichen 😉 ) Signal-Protokoll zum Einsatz.</p>



<h3 class="wp-block-heading">Erst einmal zu den Anführungszeichen bzgl. Signal</h3>



<p>Ab dem 22. April 2020, wurde der Source-Code, den man sonst immer auf GitHub „frei“ und aktualisiert vorgefunden hatte, für fast ein Jahr nicht aktualisiert und veröffentlicht. Die <a href="https://github.com/signalapp" target="_blank" rel="noreferrer noopener">Repo</a> (Siehe Erklärung in meinem Beitrag <a href="https://ceosbay.com/2022/11/18/erklaerung-git/">Git</a> bzw. <a href="https://ceosbay.com/2022/11/19/erklaerung-github/">GitHub</a>), war voll von Beschwerden aus der <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Gemeinde. Eine Erklärung seitens Entwickler blieb bis heute aus. Sicherlich kann man jetzt versuchen, Gründe dafür zu finden, doch dies erachte ich als Nonsens. </p>



<p>Während die Kommunikation, durch die in den <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Client-Apps und dem Signal-Protokoll implementierte E2EE (Ende-zu-Ende-Verschlüsselung) sicher zu sein schien, verhinderte eine Closed-Source-Server-App, Forks und hinderte weiter jeden daran, die neuesten Versionen des Sourcecodes einzusehen, zu prüfen oder eigene aktuelle Signal-Server zu erstellen. Auf der Website des Unternehmens war in der Zwischenzeit immer noch ein Zitat von Twitter-CEO Jack Dorsey vorzufinden, der den Dienst lobte, weil dieser quelloffen bzw. <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> und von Fachleuten geprüft sei. Die fast einjährige Verzögerung bei der Freigabe des Server-Quellcodes, als auch die Funkstille über die Verzögerung sind beunruhigend, wenn man bedenkt, dass sie sich mit der Sicherheit und Anonymität im Internet rühmen bzw. man sich als Nutzer genau auf diese beiden Eigenschaften verlässt.</p>



<h3 class="wp-block-heading">Wie funktioniert Signal?</h3>



<p>Im Grunde genommen werden alle Nachrichten, die zwischen registrierten Benutzern ausgetauscht werden, automatisch verschlüsselt. Signal ermöglicht das verschlüsselte Versenden von Textnachrichten, Dokumenten, Fotos und das Teilen von Kontaktinformationen in Einzel- oder Gruppenchats. Darüber hinaus werden auch Gruppentelefonate mit zuschaltbarer Videofunktion mit bis zu 40 Teilnehmern verschlüsselt übertragen.</p>



<h3 class="wp-block-heading">E2EE und PFS gegen MiTM</h3>



<p>Neben der Ende-zu-Ende-Verschlüsselung, wird auch Perfect Forward Secrecy genutzt, welches auch bei der Kompromittierung bzw. beim Bekanntwerden des geheimen persönlichen Schlüssels des Benutzers, Nachrichtenhistorien nur schwer entschlüsselt werden können. Dies hängt damit zusammen, dass für jede Nachricht aus dem Langzeitschlüssel ein eigener temporärer Schlüssel erzeugt wird, der nach Übermittlung vernichtet wird. Die Authentifizierung mit Gesprächspartnern erfolgt mittels QR-Codes, mit denen sich die Benutzer gegenseitig verifizieren. Auf diese Weise wird sichergestellt, dass wirklich mit der wahren Person kommuniziert wird und nicht mit einem Dritten. MiTM (Man-in-the-Middle-Angriffe) können dadurch minimiert werden. </p>



<p>Die Glaubhafte Abstreitbarkeit schützt Nutzer davor, dass eine bestimmte Nachricht, einer bestimmten Person zugewiesen werden kann. Da die Urheberschaft von Nachrichten nicht nachvollziehbar ist, bleibt der Quellenschutz größtenteils gewahrt. Verschlüsselte Benutzerprofile erlauben es, Benutzerfotos und Namen zwischen den Benutzern zu übertragen, ohne dass der Betreiber diese einsehen kann.</p>



<h3 class="wp-block-heading">View-Once-Funktion</h3>



<p>Einmalig präsentierte Medien bzw. Einmalansicht (View-Once &#8211; Sobald ein Foto oder Video mit einmaliger Ansicht gesendet wird, kann es lediglich 1x angesehen werden. Fotos oder Videos, die mit aktivierter Einmalansicht gesendet oder empfangen wurden, können nicht weitergeleitet oder gespeichert, mit Emojis versehen oder freigegeben werden. Ob ein Empfänger ein Foto oder Video mit Einmalansicht geöffnet hat, kann nur in Erfahrung gebracht werden, wenn die Gegenseite die Lesebestätigungen aktiviert hat) erlaubt es Mediendateien zu versenden, die nach einmaligem Ansehen aus der Unterhaltung entfernt werden. Diese Funktion wurde in der Betaversion aus 2019 in Signal implementiert. Es ist aber auf jeden Fall zu bedenken, dass derartige Inhalte durch weitere Geräte aufgezeichnet werden können. </p>



<p>Neben diesen Maßnahmen zur Übertragungsverschlüsselung werden von Signal sowohl in der iOS- als auch in der Android-Variante die auf dem Smartphone abgelegten Daten durch SQLCipher (SQLCipher ist eine Open-Source-SQLite-Erweiterung, die eine transparente, vollständige 256-Bit-AES-Datenbankverschlüsselung bietet – Darüber werde ich in einem zukünftigen Beitrag schreiben) verschlüsselt. Auf den Servern des Betreibers werden Kontoeinstellungen, Kontakte und blockierte Kontakte nicht im Klartext gespeichert, sondern mit einer PIN verschlüsselt, die nur dem Nutzer bekannt ist. Bei Gruppenchats sind die Mitgliederliste und der Admin-Status der Mitglieder sowie andere Gruppendetails als verschlüsselte Liste auf den Servern gespeichert. Aber diese sind auf einem Server gespeichert. Auch sind die Metadaten, zwar verschlüsselt, aber auf einem Server gespeichert 😀</p>



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



<p>Der dezentralisierte Gedanke greift bei Signal nicht, da es eine Servergebundene Lösung ist. Nichtsdestotrotz kann man durch die Nutzung des Open-Source Codes eigene Server aufsetzen &#8211; Vorausgesetzt Signal beschließt nicht mal wieder die Schranken zu schließen. Aus diesem Grund kann sowohl die Sicherstellung der Anonymität, als auch die Sicherheit in Frage gestellt werden 😉</p>



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



<p>Die Aktualisierung bzw. Veröffentlichung des Sourcecodes hat fast für ein Jahr nicht stattgefunden. Dies ist kein gutes Zeichen. Mag sein, dass sie die Updates wieder aktuell halten. Aber wer weiß, wann sie sich mal wieder Umentscheiden (lassen?). </p>



<p>Fakt ist auch, dass Signal ohne persönliche Zustimmung Kalendertermine hinzufügen oder ändern und E-Mails an eingeladene Gäste verschicken kann, die dem Anschein nach von einem selbst stammen. Signal kann auf alle auf dem Smartphone gespeicherten Kalendertermine zugreifen. Jederzeit und ohne Bestätigung kann die Kamera des Smartphones aktiviert werden und es können Bild- sowie Videoaufnahmen stattfinden. </p>



<p>Konventionelle SMS können durch die App gelesen, gesendet und gelöscht werden. Auf die Mikrofone des Smartphones kann die App auch zugreifen und zu jedem Zeitpunkt den Ton aufzeichnen. Die permanente Kommunikation mit einem Server ermöglicht der App und gegebenenfalls Dritten, wann und mit wem telefoniert wurde. Der Messenger kann ohne persönlichen Eingriff Telefonnummern wählen, was zu unerwarteten Kosten und Anrufen führen kann. Alles in allem läuft die App über einen amerikanischen Server und ist somit eine zentralisierte Lösung. Es mag sein, dass es viele Sicherheitsexperten gibt, die Signal für eine gute und „sicherere“ Alternative als Instant Messenger sehen. Nun, ich bin kein Sicherheitsexperte. Daher ist es jedem selbst überlassen, was man von der App hält.</p>



<p>Heute etwas später dran… Ein paar Zimmer benötigten einen neuen Anstrich 😀</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/21/erklaerung-signal/">Signal &#8211; Vertrauliche Kommunikation und Datenschutz?</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/11/21/erklaerung-signal/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">644</post-id>	</item>
		<item>
		<title>Delta Chat &#8211; E-Mail neu erfunden</title>
		<link>https://ceosbay.com/2022/11/20/erklaerung-delta-chat/</link>
					<comments>https://ceosbay.com/2022/11/20/erklaerung-delta-chat/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sun, 20 Nov 2022 07:23:34 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Dezentralisierung]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Soziale Medien]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[7435]]></category>
		<category><![CDATA[App]]></category>
		<category><![CDATA[CC]]></category>
		<category><![CDATA[Chat]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[E2EE]]></category>
		<category><![CDATA[Forward]]></category>
		<category><![CDATA[Instant Messenger]]></category>
		<category><![CDATA[Kommunikation]]></category>
		<category><![CDATA[Konten]]></category>
		<category><![CDATA[Man in the Middle]]></category>
		<category><![CDATA[Nutzer]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[PFS]]></category>
		<category><![CDATA[Postfach]]></category>
		<category><![CDATA[Protokoll]]></category>
		<category><![CDATA[Provider]]></category>
		<category><![CDATA[QR]]></category>
		<category><![CDATA[RFC]]></category>
		<category><![CDATA[Secrecy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Sichere]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Verschlüsselung]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=371</guid>

					<description><![CDATA[<p>Delta Chat ist ein Open Source Instant-Messaging-Client für Smartphones (iOS / Android) und PC (Windows/macOS/Linux). Der Messenger hat seinen Ursprung in Freiburg (Baden-Württemberg) und wird von der Merlinux GmbH entwickelt. Es verfolgt einen dezentralisierten Ansatz, &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/20/erklaerung-delta-chat/">Delta Chat &#8211; E-Mail neu erfunden</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Delta Chat ist ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Instant-Messaging-Client für Smartphones (iOS / Android) und PC (Windows/macOS/Linux). Der Messenger hat seinen Ursprung in Freiburg (Baden-Württemberg) und wird von der Merlinux GmbH entwickelt. </p>



<p>Es verfolgt einen dezentralisierten Ansatz, basiert auf den IMAP bzw. SMTP Protokollen und ist, meiner Erfahrung nach, eines der „sichereren“ Messenger Apps, die man heutzutage nutzen kann.</p>



<h3 class="wp-block-heading">Was ist IMAP?</h3>



<p>Das Internet Message Access Protocol (IMAP), ursprünglich Interactive Mail Access Protocol, ist ein Netzwerkprotokoll, dass ein Netzwerkdateisystem für E-Mails bereitstellt.</p>



<h3 class="wp-block-heading">Was ist SMTP?</h3>



<p>Das Simple Mail Transfer Protocol (Einfaches E-Mail-Transportprotokoll), gehört zu der Internetprotokollfamilie, dass zum Austausch von E-Mails in Computernetzen dient)</p>



<p> Durch den Einsatz der E-Mail-Protokolle IMAP und SMTP ist Delta Chat mit jedem herkömmlichen E-Mail-Client kompatibel. Seit Veröffentlichung im Februar 2019 verzeichnet die App im Google Play Store über 100.000+ Downloads. Auch ist die App im Apple App Store verfügbar aber auf die Zahlen haben wir leider keinen Zugriff. Nachdem ein Freund mich darum gebeten hat, heute ein bisschen was über Delta Chat 😉</p>



<h3 class="wp-block-heading">Wie funktioniert Delta Chat?</h3>



<p>Wie anfangs angesprochen, werden die IMAP- und SMTP-Protokolle benutzt. Daher kommt das System ohne Registrierung bzw. Erstellung eines Kontos innerhalb des Messengers selbst und ohne eigene Server aus. Auch wird keine Telefonnummer oder der Zugriff auf das Adressbuch benötigt. Man ist bei der Verwendung nicht auf Nutzer beschränkt, die denselben Dienst verwenden. Folglich kann man damit Nutzer erreichen, die andere Chat-Clients verwenden, da das zugrundeliegende Messaging-Protokoll der offene E-Mail-Standard ist. Alles in allem sehr viel versprechend. Doch zu Beginn habe ich „sichereren“ in Anführungszeichen geschrieben. Bewusst 😉</p>



<p>Dies liegt aber weniger an Messenger selbst, sondern an der E-Mail-Infrastruktur bzw. den zugrundeliegenden Protokollen IMAP und SMTP. Darüber aber nachfolgend mehr.</p>



<h3 class="wp-block-heading">Verschlüsselung</h3>



<p>Bei Nachrichteninhalten wird auf Ende-zu-Ende-Verschlüsselung (E2EE) zur „sichereren“ Kommunikation gesetzt. Unter „E2EE“, versteht man die Verschlüsselung übertragener Daten, über alle Übertragungsstationen hinweg. Nur die Kommunikationspartner (Die jeweiligen Endpunkte der Kommunikation) können die Nachrichten entschlüsseln. Dazu nutzt der Messenger OpenPGP (Ein standardisiertes Datenformat für verschlüsselte und digital signierte Daten). Zertifikate definieren das Format, die als „Schlüssel“ bezeichnet werden. Autocrypt stellt eine weitere Schutzebene dar. Diese Verschlüsselung baut auf dem OpenPGP-Standard auf und ist damit kompatibel. Autocrypt ist ebenfalls eine standardisierte Richtlinie, die eine nutzerfreundliche Verschlüsselung von E-Mails und automatisierten, aber ungesicherten Austausch kryptografischer Schlüssel ermöglicht.</p>



<p>Bei der Verknüpfung eines E-Mail-Kontos generiert Delta Chat bei der Ersteinrichtung automatisch ein Schlüsselpaar. Auch der Import von bereits bestehenden Schlüsseln ist möglich. Mittels Autocrypt werden die öffentlichen Schlüssel anschließend zwischen den Teilnehmern ausgetauscht und ermöglichen damit eine E2EE-Kommunikation. Bei Autocrypt kann theoretisch ein nichtwohlgesonnener E-Mail-Provider diese Verschlüsselung kompromittieren, da Autocrypt grundsätzlich jeden Schlüssel akzeptiert. Dies erfolgt über &#8222;Opportunistic Security (<a href="https://www.rfc-editor.org/rfc/rfc7435" target="_blank" rel="noreferrer noopener">RFC 7435</a>)&#8220;. Dies werde ich zu einem späteren Zeitpunkt thematisieren, da es den Rahmen sprengen würde. Es ist 06:10 Uhr, Sonntag morgen 😀 &#8211; Wen es aber interessiert, kann dennoch auf den Link klicken 😉</p>



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



<p>Auf jeden Fall können wir festhalten, dass das Potential erfolgreicher Man-in-the-Middle-Attacken minimiert wird. Bei einem Man-in-the-Middle-Angriff platziert sich der Angreifer logisch oder physisch zwischen dem Opfer und den verwendeten Ressourcen. Der Angreifer ist dadurch in der Lage, die Kommunikation abzufangen, mitzulesen oder zu manipulieren. Delta Chat erweitert den Autocrypt-Standard daher um countermitm – dadurch wird die Wahrscheinlichkeit einer erfolgreichen Man-in-the-Middle-Attacke auf verifizierte Schlüssel bzw. Kontakte minimiert. </p>



<p>Neben dieser „Schwäche“ kommt hinzu, dass OpenPGP keine Perfect Forward Secrecy beherrscht. (PFS &#8211; Perfect Forward Secrecy ist eine Methode für den Schlüsselaustausch kryptografischer Verfahren. Es bewerkstelligt, dass eine nachträgliche Entschlüsselung durch Bekanntwerden des Hauptschlüssels erschwert bzw. ausgeschlossen wird. Die Sitzungsschlüssel werden nicht ausgetauscht und sind nicht mehr rekonstruierbar). Die Schutzziele der „glaubhaften“ Abstreitbarkeit und Folgenlosigkeit sind daher nicht umsetzbar. Um sicher zu stellen, dass man mit seinem wahren Gegenüber kommuniziert, stellt Delta Chat eine Authentifizierung via QR-Code zur Verfügung. Dadurch wird gewährleistet, dass sich kein Dritter zwischenschaltet. Nach der Durchführung des gegenseitigen Scans des QR-Codes, werden die Nutzer als „Verifiziert“ markiert.</p>



<p>Wenn die Empfänger einer Nachricht auch Delta Chat nutzen, werden die Nachrichten automatisch Ende-zu-Ende-verschlüsselt und als Chatnachricht dargestellt. Allerdings erlaubt Delta Chat das Versenden von Nachrichten auch an E-Mail-Postfächer bzw. Kontakte, die kein Delta Chat verwenden. Wenn der Empfänger einen E-Mail-Client verwendet, der nicht Autocrypt-kompatibel ist, werden Nachrichten unverschlüsselt bzw. nur transportverschlüsselt gesendet bzw. empfangen. Das hat den Nachteil, dass ein E-Mail-Provider die so empfangenen / versendeten Nachrichten unter Umständen einsehen kann. Diesen Umstand sollte man unbedingt berücksichtigen bzw. bei der Nutzung von Delta Chat im Hinterkopf behalten. Welche Transportverschlüsselung zum Einsatz kommt, kann in der App eingesehen werden bzw. wird dies im Nachrichtenverlauf mit einem Schloss symbolisiert.</p>



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



<p>Wie bereits angesprochen, verfolgt Delta Chat den Ansatz der dezentralisierten Kommunikation, da der Nachrichtenaustausch nicht über zentrale Server läuft. Delta Chat setzt auf die bestehende E-Mail-Infrastruktur auf und kann dadurch auf eigene Server verzichten. Die Nutzung von Delta Chat setzt demnach lediglich ein bestehendes E-Mail-Postfach voraus, das mit Delta Chat verknüpft werden muss. Der Nutzer ist also vollkommen frei in seiner Entscheidung, bei welchem E-Mail-Anbieter er ein Konto eröffnet. Die einzige Voraussetzung ist das IMAP-Protokoll.</p>



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



<p>Ist man im Besitz einer E-Mail-Adresse, kann man Delta Chat ohne eine Registrierung und vor allem Serverunabhängig nutzen. Wird Delta Chat von der Gegenseite nicht genutzt, werden Nachrichten an die konventionelle E-Mail-Adresse des Empfängers gesendet. Wenn der Empfänger auch Delta Chat nutzt, bekommt man die Nachricht innerhalb der App angezeigt. Durch diesen Ansatz ist es nicht notwendig, denselben Messenger zu nutzen. Man kann Delta Chat daher auch als interoperablen Messenger nutzen. </p>



<p>Im Grunde genommen eignet sich Delta Chat für Personen, die ihre Telefonnummer nicht teilen wollen. Gleichzeitig kann man sich die Möglichkeit offen halten, über einen Messenger erreichbar zu sein. </p>



<p>Leider ist nicht sichergestellt, dass Nachrichten E2EE verschlüsselt zugestellt werden und damit für einen Angreifer einsehbar sind. Über die Metadaten können die An- und CC-Felder des E-Mail-Headers eingesehen werden. So lässt es sich relativ einfach herausfinden, wer mit wem, zu welchem Zeitpunkt kommuniziert hat. Die Interoperabilität hat durchaus seine Vorteile. Ob die Vorteile dabei die Nachteile überwiegen, darf jeder für sich selbst entscheiden. Alles in allem stellt Delta Chat eine gute Alternative als Instant Messenger dar. Selbst für meinen Geschmack, wird eine gute Portion an Mehrwert für den Dezentralisierungsgedanken leistet.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/20/erklaerung-delta-chat/">Delta Chat &#8211; E-Mail neu erfunden</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/11/20/erklaerung-delta-chat/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">371</post-id>	</item>
	</channel>
</rss>
