798 lezingen
798 lezingen

JavaScript integreren in Crypto Trading Apps: uitdagingen en oplossingen

door EVEDEX5m2025/04/16
Read on Terminal Reader

Te lang; Lezen

EVEDEX en CleverPumpkin hebben de integratie van een TypeScript SDK in native crypto-apps aangepakt, JavaScript-compatibiliteit en native integratie-uitdagingen overwonnen.Het gebruik van native code voor netwerkopdrachten, WebView voor wallet-interacties en standaard-API's zoals EIP-1193 zorgden voor eenvormige logica, snelle ontwikkeling en stabiele prestaties - het leggen van de basis voor toekomstige mobiele crypto-app-innovatie.
featured image - JavaScript integreren in Crypto Trading Apps: uitdagingen en oplossingen
EVEDEX HackerNoon profile picture
0-item


Hoe een mobiele Crypto-app te bouwen en de stabiliteit ervan te garanderen

Moderne crypto-handelaars kiezen steeds vaker smartphones als hun primaire tool - volgens gegevens uit de industrie worden meer dan 60% van de transacties gemaakt via mobiele apparaten.Dit vereist dat ontwikkelaars niet alleen visueel aantrekkelijke apps maken, maar volledig functionele, veilige en snelle handelsplatforms, waar zelfs kleine bugs tot ernstige gevolgen kunnen leiden (van onjuiste balansweergaven tot verloren fondsen).


Het bouwen van een mobiele crypto-handelsapp gaat niet alleen over het porteren van een webinterface naar een app. Het is een onafhankelijke technische uitdaging met veel nuances. gebruikers verwachten snel, gemakkelijk en veilig te handelen, zonder de technische details te hoeven begrijpen.


Belangrijkste trends die de mobiele crypto trading markt vormen, zijn onder meer:


    De
  • Een verschuiving van web naar mobiel: interfaces omarmen mobiel-voor-ontwerp en prestatievereisten stijgen.
  • De
  • De vraag naar native-ervaringen: apps moeten snel, veilig en "native" voelen voor het besturingssysteem.
  • De


In dit artikel delen we hoe het EVEDEX-team en ontwikkelaars van CleverPumpkin een TypeScript SDK (oorspronkelijk gebouwd voor het web) hebben geïntegreerd in native apps om een uniforme zakelijke logica over platforms te behouden.

Why We Chose SDK and the Challenges We Faced

The web version of EVEDEX already used a custom Exchange SDK, a TypeScript library that connects the exchange API on the client side. Over time, it has developed comprehensive business logic, including market data aggregation, order signing, and validation.


Ons doel was het vermijden van duplicatie van logica, het verminderen van het aantal bugs en het versnellen van de ontwikkeling.


De SDK werd echter geschreven in TypeScript en was oorspronkelijk niet ontworpen voor gebruik buiten een browser.


De

“We bespraken alle mogelijke implementatiemogelijkheden in detail.We besloten, rekening houdend met de volledige context, om te proberen de volledige TypeScript SDK te integreren in de native apps.

De


Alexander Kiaykin, CTO van CleverPumpkin

“We bespraken alle mogelijke implementatiemogelijkheden in detail.We besloten, rekening houdend met de volledige context, om te proberen de volledige TypeScript SDK te integreren in de native apps.


- hetAlexander Kiaykin, CTO of CleverPumpkin


Op iOS hadden we toegang tot de ingebouwde JavaScriptCore, maar voor Android moesten we op zoek naar een alternatief.LiquidCore, een onafhankelijke, open source JS-engine.


Om een soepele interactie met de SDK vanuit de native code te garanderen, hebben we een cross-platform wrapper ontwikkeld die de communicatie tussen de SDK en de bedrijfslogica van de app vergemakkelijkt.


Challenges We Faced:

Uitdagingen waarmee we geconfronteerd zijn:


    De
  • Niet alle JS-motoren ondersteunen de nieuwste ECMAScript-syntax: we moesten de TypeScript-transpilatiedoelstelling verlagen naar een JavaScript-versie die compatibel is met de motor.
  • De


    De
  • JS-motoren hebben geen directe toegang tot systeemmogelijkheden: dingen zoals HTTP-verzoeken, WebSockets en netwerkcommunicatie moesten worden geïmplementeerd in de native code.
  • De


Als gevolg hiervan werd de SDK gewijzigd. Het maakt nu gebruik van externe interfaces voor netwerklogica, HTTP- en WebSocket-interacties worden aan de Swift/Kotlin-zijde behandeld, terwijl de verwerkingslogica in JavaScript blijft. Uiteindelijk bleef de bedrijfslogica binnen de SDK en werden netwerkoperaties op laag niveau gedelegeerd naar de native code.

Wallet Integration: Implementing Deposits and Withdrawals

Geen crypto-uitwisseling kan werken zonder deposito- en terugtrekkingsfunctionaliteit.Ons doel was om dit proces intuïtief en veilig te maken.

Om het gebruiksgemak te verbeteren, hebben we ondersteuning toegevoegd voor flexibele assetoverdrachten tussen netwerken met behulp van deLI.FIService, waarmee gebruikers kunnen:


    De
  • Overdracht van activa van het ene netwerk naar het andere.
  • De
  • Doe het in slechts een paar klikken, zonder handmatig te zoeken naar bruggen of de complexe logica van cross-chain interacties te begrijpen.
  • De
  • Kies de beste optie op basis van prijs / snelheid voorkeuren.
  • De


We hebben opzettelijk gekozen om te gebruikenWebViewHoewel de app is gebouwd met native technologieën en een aparte JavaScript-engine wordt gebruikt voor SDK-operaties, heeft WebView ons in staat gesteld om de LI.FI-interface snel te integreren zonder de native UI opnieuw te moeten implementeren.


Tegelijkertijd moesten we rekening houden met de specifieke kenmerken van het werken met crypto wallets in een mobiele omgeving.EIP-1193De(Ethereum Provider JavaScript API), dat is de standaard die definieert hoe apps kunnen integreren met Ethereum wallets.


De mobiele app ondersteunt verschillende verbindingsmethoden:


    De
  • Via MetaMask
  • De
  • Een externe portemonnee importeren met behulp van een zaadwoord of privésleutel.
  • De
  • Een nieuwe portemonnee maken direct in de app.
  • De


Ongeacht de gekozen methode kan de app dienen als de portefeuille provider voor de stortingspagina.Dit stelde ons in staat om de bestaande webinterface te hergebruiken zonder dat we een apart systeem voor de mobiele app moesten bouwen.


NB*: Op dit moment werkt EVEDEX alleen met Ethereum-compatibele netwerken, dus alternatieve normen werden niet overwogen.*

NB

Conclusion and Key Takeaways

Het integreren van een TypeScript SDK in een native mobile app bleek een onconventionele en soms uitdagende taak te zijn, maar het stelde ons in staat om consistent gedrag over alle platforms te garanderen, logische duplicatie te elimineren, het aantal fouten te verminderen en het ontwikkelingsproces aanzienlijk te versnellen:


    De
  • Een web SDK kan worden aangepast voor mobiele omgevingen, maar het vereist architecturale heroverweging en de juiste logische ontbinding.
  • De


    De
  • Het ontkoppelen van bedrijfslogica van operaties op systeemniveau is essentieel voor duurzame architectuur.In ons geval behandelt de native code netwerkoperaties en WebSocket-communicatie, terwijl de SDK zich uitsluitend richt op bedrijfslogica.
  • De


    De
  • Het gebruik van normen zoals EIP-1193 helpt de compatibiliteit van portemonnee te behouden en de implementatie te vereenvoudigen.
  • De


  • Door de combinatie van native code, een JavaScript-engine en WebView kregen we de juiste balans tussen ontwikkelingssnelheid, flexibiliteit en gebruikerservaring.
  • De


De

"Het was niet gemakkelijk, maar nu weten we precies hoe we een TypeScript SDK in een native crypto-app kunnen opnemen.

De


— Vlad Komissarov, CTO bij EVEDEX

"Het was niet gemakkelijk, maar nu weten we precies hoe we een TypeScript SDK in een native crypto-app kunnen opnemen.


— Vlad Komissarov, CTO at EVEDEX


De ontwikkeling van de EVEDEX mobiele app was niet alleen een andere productlancering, het was een echt technologisch experiment dat nu kan dienen als een uitgangspunt voor andere teams op zoek naar onconventionele oplossingen in de crypto-wereld.


Geschreven door:

Geschreven door:

Vlad Komissarov, CTO van EVEDEX

Alexander Kiaykin, CTO vanDe CleverPumpkin

L O A D I N G
. . . comments & more!

About Author

EVEDEX HackerNoon profile picture
EVEDEX@evedex
Perpetual DEX & Next-Gen Web3 financial ecosystem built on its own L3 blockchain.

LABELS

DIT ARTIKEL WERD GEPRESENTEERD IN...

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks