Rumah >hujung hadapan web >uni-app >Mengapa uniapp tidak menyokong sockjs

Mengapa uniapp tidak menyokong sockjs

PHPz
PHPzasal
2023-04-18 14:11:24753semak imbas

Dengan perkembangan pesat Internet mudah alih, semakin banyak syarikat meletakkan pembangunan aplikasi mudah alih pada kedudukan penting. Untuk membolehkan pembangun membangunkan aplikasi mudah alih berkualiti tinggi dengan lebih mudah dan pantas, platform utama menyediakan banyak rangka kerja dan alatan pembangunan. uniapp adalah salah satu daripadanya. Walau bagaimanapun, kadangkala uniapp menghadapi beberapa masalah dan had semasa penggunaan. Contohnya, uniapp tidak menyokong sockjs. Jadi, mengapa uniapp tidak menyokong sockjs? Apakah sebab dan pengaruh di sebalik ini? Artikel ini akan menjelaskan perkara ini.

1. Apakah itu sockjs

Sebelum memahami mengapa uniapp tidak menyokong sockjs, kita perlu memahami dahulu apa itu sockjs. SockJS ialah perpustakaan JavaScript untuk penyemak imbas web yang menyediakan saluran komunikasi dupleks penuh kependaman rendah melalui WebSocket. SockJS direka bentuk untuk membolehkan aplikasi web menggunakan WebSockets secara telus melalui pelbagai protokol pengangkutan, sementara juga boleh kembali kepada tinjauan panjang berasaskan HTTP apabila perlu.

SockJS menyediakan lapisan abstraksi ke atas API WebSocket, membenarkan kod aplikasi untuk memilih antara WebSocket, penstriman HTTP tidak tentu, IFrame dan tinjauan pendapat JSONP. Apabila penyemak imbas tidak menyokong WebSocket, ia secara automatik boleh kembali ke protokol lain untuk memastikan aplikasi boleh digunakan dalam persekitaran yang seluas-luasnya. Ini amat penting untuk pengguna yang membangunkan aplikasi mudah alih atau menggunakan pelayar lama.

2. Mengapakah uniapp tidak menyokong sockjs Menyokong sintaks Vue dan API asli, dan boleh membina pelbagai aplikasi mudah alih dengan cepat. Walau bagaimanapun, memandangkan uniapp dijalankan dalam paparan web atau applet, permintaan rangkaiannya perlu mematuhi "dasar asal yang sama", iaitu, ia hanya boleh membuat permintaan kepada nama domain yang sama. SockJS ialah teknologi merentas domain, jadi uniapp perlu mempertimbangkan keselamatan dan terpaksa melepaskan sokongan untuk sockjs tanpa menyokong permintaan merentas domain.

  1. Tingkatkan lebihan kod

Untuk masalah merentas domain, pembangun yang menggunakan uniapp boleh memilih teknologi lain seperti jsonp untuk menyelesaikannya. Walau bagaimanapun, sockjs masih digunakan oleh pembangun dalam pelbagai senario komunikasi rangkaian. Ini bermakna jika uniapp ingin menyokong sockjs, ia mesti menambah beberapa kod tambahan untuk mengendalikan isu merentas domain, yang bukan sahaja menjejaskan kecekapan pembangunan, tetapi juga meningkatkan lebihan kod.

  1. Kos penggunaan yang tinggi

sockjs akan mengalami kerugian tertentu dalam prestasi kerana ia perlu melakukan beberapa kerja tambahan untuk menyesuaikan diri dengan protokol rangkaian yang berbeza. Pada platform mudah alih, persekitaran rangkaian adalah sangat kompleks, termasuk piawaian rangkaian yang berbeza seperti 2G/3G/4G, dan masalah seperti kelewatan rangkaian juga biasa. Jika sockjs digunakan dalam kes ini, ia pasti akan meningkatkan kos pembangunan dan kesukaran penyelenggaraan. Bagi pembangun uniapp, ini sudah pasti satu cabaran yang hebat.

    3. Kesan kepada pembangun
  1. Memandangkan uniapp tidak menyokong sockjs, pembangun perlu mencari teknologi alternatif lain. Bagi aplikasi yang memerlukan komunikasi masa nyata atau menggunakan WebSockets, Uni-app menyediakan teknologi lain dengan keserasian yang baik, seperti API WebSocket, tinjauan panjang berdasarkan penstriman HTTP, JSONP, dsb. Pembangun boleh memilih mengikut keperluan sebenar, yang memerlukan pembangun mempunyai latar belakang teknikal tertentu. Bagi pemula, lebih banyak masa perlu dihabiskan untuk mempelajari teknik ini.

Ringkasnya, sebab utama uniapp tidak menyokong sockjs ialah pertukaran antara keselamatan dan keberkesanan kos. Walaupun pembangun mempunyai teknologi lain untuk dipilih, tidak semua kes penggunaan sesuai. Bagi pembangun uniapp, apabila menggunakan rangka kerja ini untuk membangunkan aplikasi, mereka perlu memilih teknologi komunikasi rangkaian yang sesuai dengan mereka berdasarkan situasi sebenar.

Atas ialah kandungan terperinci Mengapa uniapp tidak menyokong sockjs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn