Bagaimana untuk membina aplikasi Crypto Mobile dan memastikan kestabilan
Para pedagang kripto moden semakin memilih telefon pintar sebagai alat utama mereka - menurut data industri, lebih daripada 60% perdagangan dibuat melalui peranti mudah alih.Ini memerlukan pemaju untuk mencipta bukan sahaja aplikasi yang menarik secara visual, tetapi platform dagangan yang sepenuhnya berfungsi, selamat dan berkelajuan tinggi, di mana walaupun bug kecil boleh membawa kepada akibat yang serius (dari tampilan keseimbangan yang salah kepada dana yang hilang).
Membangun aplikasi dagangan kripto mudah alih bukan sahaja tentang memindahkan antara muka web ke dalam aplikasi.Ia merupakan cabaran kejuruteraan yang berasingan dengan banyak nuansa.Pengguna mengharapkan untuk berdagang dengan cepat, mudah dan selamat, tanpa perlu memahami butiran teknikal.
- Perubahan dari web ke mudah alih: antarmuka menerima reka bentuk mudah alih, dan keperluan prestasi meningkat.
- Demand untuk pengalaman asli: aplikasi mesti cepat, selamat, dan berasa "native" kepada sistem pengendalian.
Dalam artikel ini, kami berkongsi bagaimana pasukan EVEDEX dan pengembang dari CleverPumpkin mengintegrasikan TypeScript SDK (didirikan untuk web) ke dalam aplikasi asli untuk mengekalkan logik perniagaan yang bersatu di seluruh platform.
Mengapa kita memilih SDK dan cabaran yang kita hadapi
Mengapa kita memilih SDK dan cabaran yang kita hadapiVersi web EVEDEX telah menggunakan Exchange SDK tersuai, perpustakaan TypeScript yang menghubungkan API pertukaran di sisi klien.Selepas masa, ia telah membangunkan logik perniagaan yang komprehensif, termasuk agregasi data pasaran, penandatangan pesanan, dan pengesahan.
Tujuan utama adalah untuk memastikan tingkah laku yang konsisten di semua platform.Tujuan kami ialah untuk mengelakkan logik berlipat, mengurangkan bilangan bug, dan mempercepat pembangunan.Ini bermakna: mengintegrasikan web SDK yang sedia ada ke dalam aplikasi mudah alih asli.
“Kami membincangkan semua pilihan pelaksanaan yang mungkin secara terperinci.Mengingat konteks penuh, kami memutuskan untuk cuba mengintegrasikan TypeScript SDK penuh ke dalam aplikasi asli.Ini merupakan wilayah baru bagi kami, tetapi kami bersedia untuk menangani tugas yang tidak konvensional ini.”
-Alexander Kiaykin, CTO CleverPumpkin
“Kami membincangkan semua pilihan pelaksanaan yang mungkin secara terperinci.Mengingat konteks penuh, kami memutuskan untuk cuba mengintegrasikan TypeScript SDK penuh ke dalam aplikasi asli.Ini merupakan wilayah baru bagi kami, tetapi kami bersedia untuk menangani tugas yang tidak konvensional ini.”
-Alexander Kiaykin, CTO CleverPumpkin
Alexander Kiaykin, CTO CleverPumpkin
Langkah pertama ialah memasukkan enjin JavaScript sepenuhnya ke dalam aplikasi. pada iOS, kami mempunyai akses kepada JavaScriptCore yang dibina, tetapi untuk Android, kami terpaksa mencari alternatif.Kesejahteraan
Untuk memastikan interaksi yang lancar dengan SDK daripada kod asli, kami telah membangunkan wrapper pelbagai platform yang memudahkan komunikasi antara SDK dan logik perniagaan aplikasi.
- Tidak semua enjin JS menyokong sintaks ECMAScript terkini: kami terpaksa menurunkan matlamat transpilasi TypeScript kepada versi JavaScript yang bersesuaian dengan enjin.
Sebagai hasilnya, SDK telah diubahsuai.Ia kini menggunakan antara muka luaran untuk logik rangkaian, interaksi HTTP dan WebSocket dikendalikan di sisi Swift/Kotlin, manakala logik pemprosesan kekal dalam JavaScript.Pada akhirnya, logik perniagaan kekal dalam SDK, dan operasi rangkaian peringkat rendah dikehendaki ke dalam kod asli.Ini membolehkan kami untuk mengekalkan konsistensi seni bina dan mempercepat pembangunan tanpa mengganggu prestasi.
Integrasi Dompet: Implementasi Deposit dan Pengeluaran
Integrasi Dompet: Implementasi Deposit dan PengeluaranTiada pertukaran kripto boleh beroperasi tanpa fungsi deposit dan penarikan. matlamat kami adalah untuk menjadikan proses ini intuitif dan selamat.
Untuk meningkatkan kemudahan pengguna, kami menambah sokongan untuk pemindahan aset fleksibel antara rangkaian menggunakan perkhidmatan LI.FI, yang membolehkan pengguna untuk:
- Memindahkan aset dari satu rangkaian ke rangkaian lain.
- Lakukan dengan hanya beberapa klik, tanpa mencari jambatan secara manual atau memahami logik kompleks interaksi rantaian.
- Pilih pilihan terbaik berdasarkan keutamaan harga / kelajuan.
Kami sengaja memilih untuk menggunakan WebView. Walaupun aplikasi ini dibina menggunakan teknologi asli, dan enjin JavaScript berasingan digunakan untuk operasi SDK, WebView membolehkan kami mengintegrasikan antara muka LI.FI dengan cepat tanpa perlu menerapkan UI semula secara asli.Penglihatan Web
Pada masa yang sama, kami terpaksa mempertimbangkan spesifikasi bekerja dengan dompet kripto dalam persekitaran mudah alih. untuk menyambung dan berinteraksi dengan dompet, kami menggunakan EIP-1193 (Ethereum Provider JavaScript API), yang merupakan standard yang menentukan bagaimana aplikasi boleh bersepadu dengan dompet Ethereum.
EIP-1193(Ethereum Provider JavaScript API)
Aplikasi mudah alih ini menyokong beberapa kaedah sambungan:
- Dengan MetaMask
- Mengimport dompet luaran menggunakan frasa benih atau kunci peribadi
- Menghasilkan dompet baru secara langsung di dalam aplikasi.
Tidak kira kaedah yang dipilih, aplikasi boleh berfungsi sebagai pembekal dompet untuk halaman deposit. Ini membolehkan kami untuk menggunakan semula antara muka web yang sedia ada tanpa perlu membina sistem berasingan untuk aplikasi mudah alih.
NB*: Pada peringkat semasa, EVEDEX hanya beroperasi dengan rangkaian yang bersesuaian dengan Ethereum, jadi standard alternatif tidak dipertimbangkan.*
NBNB yang kuatKesimpulan dan pengambilan kunci
Kesimpulan dan Kunci TakeawaysMengintegrasikan TypeScript SDK ke dalam aplikasi mudah alih asli ternyata merupakan tugas yang tidak konvensional dan kadang-kadang mencabar, tetapi ia membolehkan kami memastikan tingkah laku yang konsisten di semua platform, menghapuskan duplikasi logik, mengurangkan bilangan kesilapan, dan secara signifikan mempercepatkan proses pembangunan:
- Sebuah SDK web boleh disesuaikan untuk persekitaran mudah alih, tetapi ia memerlukan pertimbangan semula seni bina dan pemecahan logik yang betul.
- Mengalihkan logik perniagaan daripada operasi peringkat sistem adalah penting untuk seni bina yang berkelanjutan. dalam kes kami, kod asli menangani operasi rangkaian dan komunikasi WebSocket, manakala SDK memberi tumpuan kepada logik perniagaan sahaja.
- Menggunakan piawaian seperti EIP-1193 membantu mengekalkan keserasian dompet dan menyederhanakan pelaksanaan.
“Ini tidak mudah, tetapi kini kita tahu persis bagaimana untuk memasukkan TypeScript SDK ke dalam aplikasi kripto asli.Ini bukan sahaja mempercepat pembangunan tetapi juga memberi kita asas seni bina untuk masa depan.”
— Vlad Komissarov, CTO di EVEDEX
“Ini tidak mudah, tetapi kini kita tahu persis bagaimana untuk memasukkan TypeScript SDK ke dalam aplikasi crypto asli.Ini bukan sahaja mempercepat pembangunan tetapi juga memberi kita asas seni bina untuk masa depan.”
— Vlad Komissarov, CTO di EVEDEX
— Vlad Komissarov, CTO di EVEDEX
Pembangunan aplikasi mudah alih EVEDEX bukan sahaja pelancaran produk lain, ia merupakan eksperimen teknologi sebenar yang kini boleh berfungsi sebagai titik permulaan bagi pasukan lain yang mencari penyelesaian yang tidak konvensional dalam dunia kripto.
Written by:
Diterbitkan oleh:Tulis oleh:Vlad Komissarov, CTO EVEDEX
Alexander Kiaykin, CTO CleverPumpkin