Bagaimana untuk membina aplikasi Crypto Mobile dan memastikan kestabilan
Pedagang kripto moden semakin memilih telefon pintar sebagai alat utama mereka - menurut data industri, lebih daripada 60% dagangan 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 konsekuensi yang serius (dari tampilan keseimbangan yang salah kepada dana yang hilang).
Membina aplikasi dagangan crypto mudah alih bukan sahaja tentang memindahkan antara muka web ke dalam aplikasi.Ini merupakan cabaran kejuruteraan yang berasingan dengan banyak nuansa.Pengguna mengharapkan untuk berdagang dengan cepat, mudah dan selamat, tanpa perlu memahami butiran teknikal.
Trend utama yang membentuk pasaran dagangan crypto mudah alih termasuk:
- Melayu
- Peralihan dari web kepada mudah alih: antarmuka menerima reka bentuk mudah alih, dan permintaan prestasi meningkat. Melayu
- Permintaan untuk pengalaman asli: aplikasi mesti cepat, selamat, dan berasa "native" kepada sistem pengendalian. Melayu
Dalam artikel ini, kami berkongsi bagaimana pasukan EVEDEX dan pengembang dari CleverPumpkin mengintegrasikan TypeScript SDK (asli dibina untuk web) ke dalam aplikasi asli untuk mengekalkan logik perniagaan yang bersatu di seluruh platform.
Why We Chose SDK and the Challenges We Faced
Versi 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.
Matlamat utama ialah untuk memastikan tingkah laku yang konsisten di semua platform. matlamat kami ialah untuk mengelakkan logik duplikat, mengurangkan bilangan bug, dan mempercepat pembangunan.
Walau bagaimanapun, SDK ditulis dalam TypeScript dan awalnya tidak direka untuk digunakan di luar pelayar.
Melayu“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.”
Melayu
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.”
- daripadaAlexander Kiaykin, CTO of CleverPumpkin
Pada iOS, kami mempunyai akses kepada JavaScriptCore yang dibina, tetapi untuk Android, kami terpaksa mencari alternatif.LiquidCore, enjin JS bebas dan sumber terbuka.
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.
- Melayu
- Tidak semua enjin JS menyokong sintaks ECMAScript terkini: kami terpaksa menurunkan matlamat transpilasi TypeScript kepada versi JavaScript yang bersesuaian dengan enjin. Melayu
- Melayu
- Enjin JS tidak mempunyai capaian langsung kepada keupayaan sistem: perkara-perkara seperti permintaan HTTP, WebSockets, dan komunikasi rangkaian mesti diimplementasikan dalam kod asli. Melayu
Hasilnya, SDK telah diubahsuai. ia kini menggunakan antara muka luaran untuk logik rangkaian, interaksi HTTP dan WebSocket ditangani di sisi Swift/Kotlin, manakala logik pemprosesan kekal dalam JavaScript. Pada akhirnya, logik perniagaan kekal di dalam SDK, dan operasi rangkaian peringkat rendah dihantar kepada kod asli. Ini membolehkan kami untuk mengekalkan konsistensi seni bina dan mempercepat pembangunan tanpa mengganggu prestasi.
Wallet Integration: Implementing Deposits and Withdrawals
Tiada 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 yang fleksibel antara rangkaian menggunakanLI.FIperkhidmatan, yang membolehkan pengguna untuk:
- Melayu
- Memindahkan aset daripada satu rangkaian ke rangkaian lain. Melayu
- Lakukan dengan hanya beberapa klik, tanpa mencari jambatan secara manual atau memahami logik kompleks interaksi rantaian. Melayu
- Pilih pilihan terbaik berdasarkan keutamaan harga / kelajuan. Melayu
Kami sengaja memilih untuk menggunakanWebViewWalaupun 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 mengimplementasikan UI semula secara asli.
Pada masa yang sama, kami terpaksa mempertimbangkan spesifikasi bekerja dengan dompet kripto dalam persekitaran mudah alih.EIP-1193Melayu(Ethereum Provider JavaScript API), which is the standard that defines how apps can integrate with Ethereum wallets.
Aplikasi mudah alih menyokong beberapa kaedah sambungan:
- Melayu
- Melalui MetaMask Melayu
- Mengimport dompet luaran menggunakan frasa benih atau kunci peribadi. Melayu
- Mencipta dompet baru secara langsung di dalam app. Melayu
Terlepas daripada 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 yang*: Pada peringkat semasa, EVEDEX hanya beroperasi dengan rangkaian yang bersesuaian dengan Ethereum, jadi standard alternatif tidak dipertimbangkan.*
NB yangConclusion and Key Takeaways
Mengintegrasikan 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:
- Melayu
- Sebuah SDK web boleh disesuaikan untuk persekitaran mudah alih, tetapi ia memerlukan pertimbangan semula seni bina dan pemecahan logik yang betul. Melayu
- Melayu
- Memisahkan 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. Melayu
- Melayu
- Menggunakan piawaian seperti EIP-1193 membantu mengekalkan keserasian dompet dan menyederhanakan pelaksanaan. Melayu
- Melayu
- Menggabungkan kod asli, enjin JavaScript, dan WebView memberi kita keseimbangan yang betul antara kelajuan pembangunan, fleksibiliti, dan pengalaman pengguna. Melayu
Melayu“Ia 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.”
Melayu
— Vlad Komissarov, CTO di EVEDEX
“Ia 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 at EVEDEX
Pembangunan aplikasi mudah alih EVEDEX bukan sahaja pelancaran produk lain, ia merupakan eksperimen teknologi yang sebenar yang kini boleh berfungsi sebagai titik permulaan bagi pasukan lain yang mencari penyelesaian yang tidak konvensional dalam dunia kripto.
Ditulis oleh:
Ditulis oleh:Vlad Komissarov, CTO EVEDEX
Alexander Kiaykin, CTO daripadaCerdasPumpkin