Wie man eine mobile Crypto-App aufbaut und ihre Stabilität gewährleistet Moderne Krypto-Händler wählen zunehmend Smartphones als ihr primäres Werkzeug - nach Branchendaten werden mehr als 60% der Trades über mobile Geräte getätigt.Dies erfordert, dass Entwickler nicht nur visuell ansprechende Apps erstellen, sondern voll funktionsfähige, sichere und schnelle Handelsplattformen, wo selbst geringfügige Fehler zu schwerwiegenden Folgen führen können (von falschen Gleichgewichtsanzeigen bis hin zu verlorenen Geldern). Der Aufbau einer mobilen Krypto-Trading-App geht nicht nur darum, eine Web-Schnittstelle in eine App zu transportieren.Es ist eine eigenständige technische Herausforderung mit vielen Nuancen.Benutzer erwarten, schnell, bequem und sicher zu handeln, ohne die technischen Details zu verstehen. Zu den wichtigsten Trends, die den mobilen Krypto-Handelsmarkt prägen, gehören: ist ist ist Ein Wechsel vom Web auf das mobile: Schnittstellen umarmen das mobile-first-Design und die Leistungsanforderungen steigen. Nachfrage nach nativen Erlebnissen: Apps müssen schnell, sicher und "nativ" für das Betriebssystem sein. In this article, we share how the EVEDEX team and developers from CleverPumpkin integrated a TypeScript SDK (originally built for the web) into native apps to maintain unified business logic across platforms. This solution offered many advantages, but also brought a fair share of challenges with it. Why We Chose SDK and the Challenges We Faced Die Webversion von EVEDEX verwendet bereits ein benutzerdefiniertes Exchange SDK, eine TypeScript-Bibliothek, die die Exchange-API auf der Clientseite verbindet. Unser Ziel war es, Duplikationen der Logik zu vermeiden, die Anzahl der Bugs zu reduzieren und die Entwicklung zu beschleunigen. Das SDK wurde jedoch in TypeScript geschrieben und wurde ursprünglich nicht für den Einsatz außerhalb eines Browsers entwickelt. ist ist “We discussed all possible implementation options in detail. Taking the full context into account, we decided to try integrating the full TypeScript SDK into the native apps. This was new territory for us, but we were ready to tackle this unconventional task.” Alexander Kiaykin, CTO von CleverPumpkin "Wir haben alle möglichen Implementierungsmöglichkeiten ausführlich diskutiert.Wir haben den gesamten Kontext berücksichtigt und beschlossen, den vollständigen TypeScript SDK in die nativen Apps zu integrieren. - der Alexander Kiaykin, CTO of CleverPumpkin Auf iOS hatten wir Zugriff auf den eingebauten JavaScriptCore, aber für Android mussten wir nach einer Alternative suchen. , eine unabhängige Open-Source JS-Engine. LiquidCore Um eine reibungslose Interaktion mit dem SDK aus dem nativen Code zu gewährleisten, haben wir einen plattformübergreifenden Wrapper entwickelt, der die Kommunikation zwischen dem SDK und der Geschäftslogik der App erleichtert. Challenges We Faced: Herausforderungen, mit denen wir konfrontiert sind: ist ist Nicht alle JS-Engine unterstützen die neueste ECMAScript-Syntax: Wir mussten das TypeScript-Transpilationsziel auf eine mit der Engine kompatible JavaScript-Version herunterladen. ist ist JS-Engines haben keinen direkten Zugriff auf Systemfunktionen: Dinge wie HTTP-Anfragen, WebSockets und Netzwerkkommunikation mussten im nativen Code implementiert werden. Infolgedessen wurde das SDK modifiziert. Es verwendet nun externe Schnittstellen für die Netzwerklogik, HTTP- und WebSocket-Interaktionen werden auf der Swift/Kotlin-Seite abgewickelt, während die Verarbeitungslogik in JavaScript verbleibt. Am Ende blieb die Geschäftslogik innerhalb des SDK, und Netzwerkoperationen auf niedriger Ebene wurden auf den nativen Code delegiert. Wallet Integration: Implementing Deposits and Withdrawals Keine Krypto-Börse kann ohne Ein- und Auszahlungsfunktionalität funktionieren.Unser Ziel war es, diesen Prozess intuitiv und sicher zu gestalten. Um die Benutzerfreundlichkeit zu erhöhen, haben wir Unterstützung für flexible Asset-Transfers zwischen Netzwerken mit der Dienstleistungen, die es den Nutzern ermöglichen: LI.FI ist ist ist ist Übertragung von Vermögenswerten von einem Netzwerk auf ein anderes. Machen Sie es mit nur wenigen Klicks, ohne manuell nach Brücken zu suchen oder die komplexe Logik von Cross-Chain-Interaktionen zu verstehen. Wählen Sie die beste Option basierend auf Preis / Geschwindigkeit Präferenzen. Wir haben uns bewusst dafür entschieden, Obwohl die App mit nativen Technologien erstellt wurde und für SDK-Operationen eine separate JavaScript-Engine verwendet wird, ermöglichte WebView es uns, die LI.FI-Schnittstelle schnell zu integrieren, ohne die Benutzeroberfläche nativ neu zu implementieren. WebView Gleichzeitig mussten wir die Besonderheiten der Arbeit mit Krypto-Wallets in einer mobilen Umgebung berücksichtigen. ist , der der Standard ist, der definiert, wie Apps mit Ethereum-Wallets integrieren können. EIP-1193 (Ethereum Provider JavaScript API) Die mobile App unterstützt mehrere Verbindungsmethoden: ist ist ist ist Über MetaMask Importieren einer externen Brieftasche mit einem Samenwort oder einem privaten Schlüssel. Erstellen einer neuen Brieftasche direkt innerhalb der App. Unabhängig von der gewählten Methode kann die App als Brieftaschenanbieter für die Einzahlungsseite dienen. Dies ermöglichte es uns, die bestehende Web-Schnittstelle wieder zu nutzen, ohne ein separates System für die mobile App aufzubauen. *: At the current stage, EVEDEX operates with Ethereum-compatible networks only, so alternative standards were not considered.* NB NB Conclusion and Key Takeaways Die Integration eines TypeScript SDK in eine native mobile App erwies sich als unkonventionelle und manchmal herausfordernde Aufgabe, aber es ermöglichte es uns, ein konsistentes Verhalten auf allen Plattformen zu gewährleisten, Logikduplikationen zu beseitigen, die Anzahl der Fehler zu reduzieren und den Entwicklungsprozess erheblich zu beschleunigen: ist ist Ein Web-SDK kann für mobile Umgebungen angepasst werden, erfordert jedoch eine architektonische Überlegung und eine ordnungsgemäße logische Zersetzung. ist ist Das Entkoppeln der Business-Logik von System-Level-Operationen ist für eine nachhaltige Architektur unerlässlich.In unserem Fall befasst sich der native Code mit Netzwerkoperationen und WebSocket-Kommunikation, während sich das SDK ausschließlich auf die Business-Logik konzentriert. ist ist Die Verwendung von Standards wie EIP-1193 hilft, die Wallet-Kompatibilität aufrechtzuerhalten und die Implementierung zu vereinfachen. ist ist Die Kombination von nativem Code, einer JavaScript-Engine und WebView gab uns die richtige Balance zwischen Entwicklungsgeschwindigkeit, Flexibilität und Benutzererfahrung. ist ist "Es war nicht einfach, aber jetzt wissen wir genau, wie man ein TypeScript SDK in eine native Krypto-App einbaut. — Vlad Komissarov, CTO bei EVEDEX "Es war nicht einfach, aber jetzt wissen wir genau, wie man ein TypeScript SDK in eine native Krypto-App einbaut. — Vlad Komissarov, CTO at EVEDEX Die Entwicklung der EVEDEX-Mobil-App war nicht nur ein weiterer Produktlaunch, es war ein echtes technologisches Experiment, das jetzt als Ausgangspunkt für andere Teams für unkonventionelle Lösungen in der Krypto-Welt dienen kann. Geschrieben von: Geschrieben von: Vlad Komissarov, CTO von EVEDEX Alexander Kiaykin, CTO von CleverPumpen