cari
Rumahhujung hadapan webtutorial jsBina Gateway GraphQL: Gabungkan, jahitan atau gabungan mana -mana sumber data

Build a GraphQL Gateway: Combine, Stitch or Merge any Datasource

mata teras

    GraphQL Gateway menggabungkan kelebihan gerbang API tradisional dan GraphQL, yang membolehkan jurutera perisian mendapatkan data dari pelbagai sumber data sambil mengekalkan kecekapan front-end.
  • backend, iaitu, corak seni bina front-end (BFF) mengurangkan bilangan permintaan di bahagian depan, memudahkan proses dengan membenarkan permintaan tunggal ke gerbang API, yang kemudiannya mengambil data dari setiap perkhidmatan back-end dan menggabungkannya.
  • GraphQL menyediakan BFF dengan banyak kelebihan, termasuk pengambilalihan data yang cekap, titik akhir untuk semua permintaan, dan pertanyaan fleksibel yang membolehkan bahagian depan hanya memilih data yang diperlukan untuk setiap permintaan.
  • Tiga rangka kerja yang disyorkan untuk mewujudkan gerbang GraphQL termasuk Hasura, Stepzen, dan Graphweaver. Rangka kerja ini menyediakan pelbagai keupayaan seperti sambungan sumber data berganda, penghalaan, pemprosesan batch, keselamatan, penapisan sumber silang data, dan skalabiliti.
Artikel ini akan membincangkan bagaimana untuk mendapatkan data dari pelbagai sumber data sambil mengekalkan responsif depan dengan cepat, dan penyelesaian yang berpotensi: menggunakan Gateway GraphQL.

Sebagai jurutera perisian, kita semua menghadapi cabaran menyusun data dari pelbagai sistem. Malah satu halaman memerlukan data dari pelbagai perkhidmatan yang akan diberikan.

Data ada di mana -mana, dari CRM ke sistem kewangan, dari platform SaaS ke pangkalan data. Tidak dapat dielakkan bahawa setiap perniagaan akan membeli sejumlah besar platform SaaS dan kemudian berharap untuk mendapatkan pandangan perniagaan bersatu di atas semuanya. Kita harus menghadapi masalah ini dan menyatukan semuanya.

GraphQL Gateway menggabungkan kelebihan gerbang API tradisional dan GraphQL.

kami akan membincangkan kelebihan gerbang API dan kemudian melihat bagaimana GraphQL sesuai dengannya. Sila terus membaca artikel ini, kami akan merangkumi beberapa rangka kerja untuk membina gerbang API kami sendiri.

Kelebihan API Gateway

Melindungi API yang menghadap awam dari penggodam adalah pekerjaan semua cuaca. Dari masa ke masa, organisasi telah berkembang untuk mewujudkan banyak API, dari seni bina berorientasikan perkhidmatan ke microservices. Organisasi cenderung menambah lapisan tambahan keselamatan dan bukannya meletakkan API ini secara langsung di Internet, yang lebih awal daripada semua API ini dan memastikan akses kepada data sentiasa mengikuti peraturan pengesahan yang sama.

Mereka menggunakan API Gateway untuk melakukan ini.

Produk seperti Kong atau Apigee mendedahkan API dalaman dari lokasi pusat. Mereka bertindak sebagai proksi terbalik dengan ciri -ciri seperti pengurusan utama API, mengehadkan kadar dan pemantauan.

API Gateway membolehkan kami mengawal siapa dan apa yang boleh mengakses setiap perkhidmatan, memantau sambungan dan akses rekod.

Baru -baru ini, aplikasi perlu menggabungkan data dari gerbang API dan penyedia SaaS luaran yang lain. Ini bermakna bahawa alat berpusat lama (pastikan peraturan kami diikuti) kini dilangkau secara teratur.

Katakan kami sedang membina aplikasi web untuk syarikat itu. Tugas kami adalah untuk membuat halaman profil pengguna. Semasa proses log masuk, kita perlu menggabungkan data dari pelbagai sistem:

  • Salesforce CRM: Simpan data pelanggan umum, seperti nama pertama dan terakhir.
  • Pesanan: Unit pesanan yang paling terkini berada dalam sistem pesanan dalam organisasi.
  • Perkhidmatan pemberitahuan: Tetapan pemberitahuan dan mesej baru-baru ini terletak dalam pangkalan data khusus aplikasi yang disambungkan ke perkhidmatan Node.js.

Pelanggan perlu mengeluarkan tiga permintaan berasingan untuk mendapatkan data, seperti yang ditunjukkan dalam gambar di bawah.

Build a GraphQL Gateway: Combine, Stitch or Merge any Datasource

Dalam imej di atas, klien web menghantar tiga permintaan API berasingan, dan kemudian hasilnya mesti digabungkan dalam kod depan. Menghantar pelbagai permintaan boleh menjejaskan prestasi aplikasi anda, dan menggabungkan data ini dapat meningkatkan kerumitan kod anda. Di samping itu, jika terdapat banyak aplikasi, kini semua aplikasi mesti tahu tentang semua backends, dan perubahan API tunggal dalam perkhidmatan boleh menghasilkan kemas kini untuk semua aplikasi kami.

kita boleh melakukan yang lebih baik. Idealnya, kami mahu mengurangkan permintaan dari tiga hingga satu. Kami boleh membuat perkhidmatan baru untuk melakukan ini - perkhidmatan yang menyelaraskan permintaan untuk perkhidmatan backend. Idea ini mempunyai nama: mod BFF.

backend, iaitu, mod seni bina frontend (BFF) membolehkan frontend mengeluarkan permintaan tunggal.

Tetapi bagaimana ia berfungsi? Mari kita lihat corak ini dengan lebih dekat.

kelebihan mod BFF

Menggunakan mod BFF, aplikasi menghantar permintaan tunggal ke Gateway API. Perkhidmatan BFF kemudian meminta data dari setiap perkhidmatan backend dan menggabungkannya. Akhirnya, data ditapis dan hanya data yang diperlukan oleh hujung depan dikembalikan, dengan itu mengurangkan jumlah data yang dihantar melalui rangkaian.

Build a GraphQL Gateway: Combine, Stitch or Merge any Datasource Seperti yang ditunjukkan dalam imej di atas, kami memperkenalkan lapisan tambahan ke dalam timbunan untuk menyelaraskan permintaan.

Titik akhir profil pengguna mengembalikan data yang diperlukan oleh aplikasi pada halaman profil. Mengurangkan tiga permintaan kami kepada seseorang telah menyelesaikan masalah prestasi kami yang terdahulu.

tetapi kami belum selesai.

Enterprise memutuskan untuk melepaskan aplikasi mudah alih. Aplikasi mudah alih juga mempunyai halaman profil, tetapi skrin ini memaparkan maklumat profil yang kurang.

Pada ketika ini, pasukan mudah alih mempunyai dua pilihan. Pasukan ini boleh menggunakan titik akhir pasukan web, yang bermaksud kami terlalu banyak data (dapatkan lebih banyak data yang tidak diperlukan oleh aplikasi mudah alih). Pilihan lain adalah untuk membuat BFF anda sendiri pada pasukan mudah alih.

Menurut jangkaan, pasukan mudah alih memutuskan untuk mencipta BFF mereka sendiri kerana mereka mahukan prestasi yang baik untuk aplikasi mereka.

seperti yang ditunjukkan dalam gambar di atas, perkara -perkara mula menjadi rumit, dan kini kami mempunyai dua masalah baru: Build a GraphQL Gateway: Combine, Stitch or Merge any Datasource

  • Setiap pasukan mesti membuat perkhidmatan BFF baru untuk setiap aplikasi yang mereka buat, yang melambatkan setiap pasukan dan menjadikannya sukar untuk menyeragamkan.
  • Setiap BFF memerlukan ujian penembusan untuk memastikan ia selamat.

Bagaimana kita menyelesaikan masalah ini?

Kami memerlukan penyelesaian di mana setiap aplikasi boleh memilih data yang diperlukan, dan ia harus menjadi API tunggal yang digunakan oleh semua aplikasi syarikat.

Sebagai BFF matang, banyak pemaju telah mula cuba menggunakan GraphQL dan bukannya berehat.

mari kita lihat bagaimana teknologi ini dapat membantu.

Kelebihan Graphql Over BFF

GraphQL mempunyai banyak kelebihan yang menjadikannya teknologi yang ideal untuk BFF:

  • Pengambilalihan data yang cekap. GraphQL membolehkan pelanggan meminta data yang diperlukan dengan tepat, tidak lebih atau kurang. Ini meningkatkan prestasi dengan mengurangkan data yang dipindahkan dari API.
  • titik akhir tunggal. Daripada mendedahkan banyak titik akhir melalui pintu masuk, GraphQL menggunakan titik akhir tunggal untuk semua permintaan. Ini memudahkan keperluan penyelenggaraan dan kawalan versi.
  • pertanyaan fleksibel. Pelanggan boleh membina pertanyaan dengan menggabungkan bidang dan hubungan menjadi satu permintaan. Ini membolehkan pemaju front-end mengoptimumkan pengambilalihan data, dengan itu meningkatkan prestasi. Juga, jika keperluan perubahan depan, ia boleh dikemas kini untuk mendapatkan data yang berbeza tanpa mengubah back-end dalam apa cara sekalipun.

bahagian depan kini boleh memilih hanya data yang diperlukan untuk setiap permintaan.

kini boleh menyambungkan dua aplikasi kami ke pelayan GraphQL yang sama, mengurangkan keperluan untuk perkhidmatan BFF kedua.

Build a GraphQL Gateway: Combine, Stitch or Merge any Datasource

Kami kini boleh berkongsi BFF untuk sebarang permohonan dalam organisasi kami. Kami juga mempunyai satu titik akhir yang perlu diuji untuk penembusan.

Tetapi, kami telah memperkenalkan satu lagi masalah baru! Kami masih perlu menguruskan dua sistem - API Gateway dan GraphQL BFF.

Bagaimana jika kita menggabungkan kedua -duanya ke dalam gerbang graphql?

Seterusnya, mari kita lihat bagaimana Gateway GraphQL berfungsi.

Apakah gerbang graphql?

GraphQL Gateway menggabungkan API Gateway dengan API GraphQL untuk hasil terbaik dari kedua -dua teknologi.

mari kita semak kelebihan:

    pemaju mempunyai titik akhir API tunggal untuk meminta data. Ini mengurangkan pengambilan yang berlebihan atau tidak mencukupi, kerana setiap aplikasi hanya memilih data yang diperlukan.
  • GraphQL Gateway dikongsi oleh banyak aplikasi dalam organisasi anda. Ini bermakna kita telah mengurangkan risiko keselamatan ke titik akhir API tunggal.
  • Kami kini hanya mempunyai satu perkhidmatan yang perlu diuruskan dan digunakan kerana BFF digabungkan dengan pintu masuk.
Imej berikut menunjukkan bagaimana permintaan API profil pengguna berfungsi dengan GraphQL Gateway.

Dalam imej di atas, klien menghantar permintaan tunggal ke Gateway GraphQL, meminta data yang diperlukan. Gateway mengeluarkan permintaan tunggal untuk setiap perkhidmatan dan menggabungkan hasilnya. Kami kini hanya mempunyai satu perkhidmatan yang perlu diuruskan dan digunakan.

saya harap anda sudah bersedia untuk mencubanya sendiri. Seterusnya, mari kita lihat cara membina Gateway GraphQL.

Membina Graphql Gateway

Apabila memilih rangka kerja gerbang, kita perlu mencari beberapa ciri utama:

  • Sumber data berganda. Gateway mesti disambungkan ke banyak sumber data -dari pangkalan data ke SaaS -kita harus dapat membuat sambungan kami.
  • laluan. Gateway harus dapat meminta data secara langsung dari perkhidmatan yang mendasari.
  • pemprosesan batch. Pelbagai pertanyaan yang dihantar ke perkhidmatan yang sama dihantar dalam kelompok, mengurangkan bilangan permintaan.
  • selamat. Pengesahan dan kebenaran harus mengawal siapa yang boleh mengakses data yang disambungkan.
  • Penapis di seluruh sumber data. Penapis yang kuat harus disediakan untuk mengelakkan lebih banyak data yang diperlukan oleh klien.
  • skalabiliti. Pemaju harus dapat melanjutkan kod menggunakan middleware atau fungsi untuk memenuhi keperluan mereka.

Terdapat banyak rangka kerja untuk dipilih, tetapi saya cadangkan meneroka tiga rangka kerja berikut.

Hasura

Hasura telah menjadi semakin popular selama bertahun-tahun, pada mulanya sebagai pelayan Graphql-over-Postgres. Walau bagaimanapun, ia meningkatkan keupayaan untuk menyambung ke sistem luaran.

kita boleh menyambung ke "mod jauh" yang menggabungkan GraphQL dari pelayan lain.

Kaedah ini mempunyai beberapa kelemahan. Pertama, kita perlu membuat dan mengurus skema jauh kami dalam perkhidmatan yang berasingan, dan perkhidmatan ini mestilah titik akhir GraphQL. Ini membawa kepada masalah kedua: kita tidak boleh menyambung secara langsung ke sumber data.

Di samping itu, Hasura tidak membenarkan kami menapis data dalam satu sumber data berdasarkan nilai -nilai dalam sumber data lain. Ini mungkin terdengar akademik, tetapi kami sering ingin menyatakan sesuatu seperti "memberi saya perintah dengan nama 'ABC'".

Ini memberikan fleksibiliti, tetapi dengan kos menjalankan pelbagai perkhidmatan. Mari kita lihat pilihan yang boleh disambungkan secara langsung.

Stepzen

Stepzen membolehkan kami menyambung terus ke sumber data dari pelayan GraphQL. Ini mengurangkan keperluan untuk menjalankan pelbagai perkhidmatan untuk membuat pintu masuk.

Untuk menyambungkan Stepzen ke sumber data, kami membuat fail skema GraphQL seperti yang ditunjukkan di bawah:

<code>type Query {
  anything(message: String): JSON
  @rest (
    endpoint: "https://httpbin.org/anything"
    method: POST
    headers: [
      {name: "User-Agent", value: "StepZen"}
      {name: "X-Api-Key", value: "12345"}
    ]
    postbody: """
      {
        "user": {
          "id": "1000",
          "name": "The User"
         }
      }
    """
    )
}
</code>
Dalam contoh ini, kami menggunakan mod tersuai untuk menyambungkan pelayan ke pangkalan data.

Terdapat pilihan lain yang mungkin anda sukai, iaitu pendekatan kod tulen. Mari lihat seterusnya.

Graphweaver

Sejak beberapa tahun kebelakangan ini, saya telah membangunkan produk sumber terbuka yang dipanggil Graphweaver yang boleh digunakan sebagai Gateway GraphQL.

Ia menghubungkan terus ke sumber data kami dan mencipta API GraphQL segera. API ini mengandungi semua operasi CRUD yang mungkin kami harapkan untuk membuat, membaca, mengemas kini, dan memadam. Ia secara automatik menjana penapis, menyusun dan memage parameter, menjimatkan masa. Kami boleh melanjutkan operasi terbina dalam dengan kod kami untuk fleksibiliti lengkap.

Graphweaver menyediakan penyambung data keluar dari kotak untuk pangkalan data seperti Postgres dan MySQL, serta penyedia SaaS seperti Xero dan Contentful.

Membuat perubahan atau menyambung ke sumber data melibatkan penulisan kod typescript, yang membolehkan kami membuat penyesuaian penuh.

Jika anda berminat untuk membuat API GraphQL anda sendiri, saya sangat mengesyorkan anda menyemak kod Github Graphweaver.

Kesimpulan

Dalam artikel ini, kami mengkaji cara menggantikan Gateway API semasa kami dan corak BFF dengan gerbang GraphQL tunggal.

kami memeriksa kelebihan gerbang API dan mengapa organisasi menggunakannya. Versioning, mengehadkan kadar, dan pengurusan akses adalah beberapa sebab.

kami juga melihat corak BFF dan bagaimana ia menyelaraskan permintaan API untuk aplikasi front-end.

Akhirnya, kita melihat GraphQL dan mengapa ia adalah teknik yang bermanfaat untuk BFF.

akhir hari, ini membawa kami untuk membuat gerbang GraphQL, dan kami melihat tiga pilihan untuk membuat sendiri: Hasura, Stepzen dan Graphweaver produk, yang saya telah berkembang.

Saya harap artikel ini meyakinkan anda untuk cuba menggunakan Gateway Graphql sendiri, dan jika anda boleh, pertimbangkan untuk mencuba Graphweaver.

Graphql Gateway FAQ (FAQ)

Apakah tujuan utama Gateway GraphQL?

Gateway GraphQL bertindak sebagai titik kemasukan tunggal untuk semua operasi GraphQL. Ia bertanggungjawab untuk permintaan penghalaan kepada perkhidmatan yang sepadan, mengagregatkan respons dan menghantarnya kembali kepada pelanggan. Ini membolehkan anda menguruskan pelbagai corak dan perkhidmatan GraphQL dari satu lokasi, menjadikan aplikasi anda lebih berskala dan mudah dijaga.

Bagaimana perbezaan antara Gateway GraphQL dan Gateway API tradisional?

Gateway API tradisional direka untuk mengendalikan API yang tenang, dan mod operasinya berbeza daripada GraphQL. Sebaliknya, gerbang GraphQL direka khas untuk mengendalikan operasi GraphQL. Ia menyediakan ciri -ciri seperti jahitan corak dan penggabungan yang membolehkan anda menggabungkan pelbagai corak GraphQL menjadi satu. Ini adalah sesuatu yang tidak dapat dilakukan oleh gerbang API tradisional.

Apakah corak splicing di Gateway GraphQL?

Jahitan mod

adalah ciri gerbang GraphQL yang membolehkan anda menggabungkan pelbagai corak GraphQL ke dalam satu. Ini amat berguna apabila anda mempunyai pelbagai perkhidmatan dan masing -masing mempunyai skema sendiri dan anda ingin mendedahkannya sebagai API tunggal. Jahitan corak bertanggungjawab untuk menggabungkan corak dan menyelesaikan sebarang konflik, memberikan pengalaman yang lancar untuk pelanggan.

Bagaimanakah Gateway GraphQL meningkatkan prestasi?

Gateway GraphQL dapat meningkatkan prestasi dengan ketara dengan mengurangkan bilangan perjalanan bulat antara pelanggan dan pelayan. Daripada membuat pelbagai permintaan kepada perkhidmatan yang berbeza, pelanggan hanya membuat permintaan tunggal ke Gateway GraphQL, yang kemudian mengarahkan permintaan ke perkhidmatan yang sepadan, mengagregatkan respons dan menghantarnya kembali kepada pelanggan. Ini mengurangkan latensi rangkaian dan meningkatkan prestasi keseluruhan.

Bolehkah saya menggunakan Gateway Graphql di microservice saya?

Ya, gerbang GraphQL sangat sesuai untuk seni bina microservice. Setiap microservice boleh mempunyai corak GraphQL sendiri, yang Gateway dapat bersambung untuk menyediakan API bersatu. Ini membolehkan anda mengurus dan skala microservices secara bebas sementara masih menyediakan antara muka yang konsisten kepada pelanggan anda.

Adakah Gateway GraphQL serasi dengan semua bahasa pengaturcaraan?

GraphQL Gateway adalah bahasa yang bebas, bermakna ia boleh digunakan dengan mana-mana bahasa pengaturcaraan yang menyokong GraphQL. Ini termasuk bahasa popular seperti JavaScript, Python, Ruby, dan Java.

Bagaimana ralat mengendalikan gerbang GraphQL?

GraphQL Gateway menyediakan keupayaan pengendalian ralat yang kuat. Jika ralat berlaku di salah satu perkhidmatan, Gateway mengembalikan mesej ralat terperinci kepada pelanggan, termasuk maklumat mengenai perkhidmatan yang menyebabkan ralat dan ralat apa yang berlaku. Ini menjadikan diagnosis dan memperbaiki masalah lebih mudah.

Bolehkah saya menggunakan Gateway Graphql dalam seni bina tanpa pelayan?

Ya, GraphQL Gateway serasi dengan seni bina tanpa pelayan. Anda boleh menggunakan gerbang anda sebagai fungsi tanpa pelayan, yang membolehkan anda memanfaatkan skalabilitas dan keberkesanan kos pengkomputeran tanpa pelayan.

Bagaimanakah GraphQL Gateway Handle Security?

GraphQL Gateway menyediakan pelbagai ciri keselamatan termasuk pengesahan dan kebenaran, pengurangan kadar dan pengesahan permintaan. Ciri -ciri ini membantu melindungi perkhidmatan anda daripada akses dan penyalahgunaan yang tidak dibenarkan.

Bolehkah saya menggunakan Gateway GraphQL dengan API RESTFUL yang sedia ada?

Ya, anda boleh menggunakan Gateway GraphQL dengan API RESTful anda yang sedia ada. Gateway boleh membungkus API RESTFUL anda dalam corak GraphQL, yang membolehkan anda memanfaatkan GraphQL semasa masih menggunakan API yang sedia ada.

Atas ialah kandungan terperinci Bina Gateway GraphQL: Gabungkan, jahitan atau gabungan mana -mana sumber data. 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
Rangka Kerja JavaScript: Menguasai Pembangunan Web ModenRangka Kerja JavaScript: Menguasai Pembangunan Web ModenMay 02, 2025 am 12:04 AM

Kuasa rangka kerja JavaScript terletak pada pembangunan yang memudahkan, meningkatkan pengalaman pengguna dan prestasi aplikasi. Apabila memilih rangka kerja, pertimbangkan: 1.

Hubungan antara JavaScript, C, dan penyemak imbasHubungan antara JavaScript, C, dan penyemak imbasMay 01, 2025 am 12:06 AM

Pengenalan Saya tahu anda mungkin merasa pelik, apa sebenarnya yang perlu dilakukan oleh JavaScript, C dan penyemak imbas? Mereka seolah -olah tidak berkaitan, tetapi sebenarnya, mereka memainkan peranan yang sangat penting dalam pembangunan web moden. Hari ini kita akan membincangkan hubungan rapat antara ketiga -tiga ini. Melalui artikel ini, anda akan mempelajari bagaimana JavaScript berjalan dalam penyemak imbas, peranan C dalam enjin pelayar, dan bagaimana mereka bekerjasama untuk memacu rendering dan interaksi laman web. Kita semua tahu hubungan antara JavaScript dan penyemak imbas. JavaScript adalah bahasa utama pembangunan front-end. Ia berjalan secara langsung di penyemak imbas, menjadikan laman web jelas dan menarik. Adakah anda pernah tertanya -tanya mengapa Javascr

Aliran node.js dengan typescriptAliran node.js dengan typescriptApr 30, 2025 am 08:22 AM

Node.js cemerlang pada I/O yang cekap, sebahagian besarnya terima kasih kepada aliran. Aliran memproses data secara berperingkat, mengelakkan beban memori-ideal untuk fail besar, tugas rangkaian, dan aplikasi masa nyata. Menggabungkan sungai dengan keselamatan jenis typescript mencipta powe

Python vs JavaScript: Pertimbangan Prestasi dan KecekapanPython vs JavaScript: Pertimbangan Prestasi dan KecekapanApr 30, 2025 am 12:08 AM

Perbezaan prestasi dan kecekapan antara Python dan JavaScript terutamanya dicerminkan dalam: 1) sebagai bahasa yang ditafsirkan, Python berjalan perlahan tetapi mempunyai kecekapan pembangunan yang tinggi dan sesuai untuk pembangunan prototaip pesat; 2) JavaScript adalah terhad kepada benang tunggal dalam penyemak imbas, tetapi I/O multi-threading dan asynchronous boleh digunakan untuk meningkatkan prestasi dalam node.js, dan kedua-duanya mempunyai kelebihan dalam projek sebenar.

Asal JavaScript: Meneroka Bahasa PelaksanaannyaAsal JavaScript: Meneroka Bahasa PelaksanaannyaApr 29, 2025 am 12:51 AM

JavaScript berasal pada tahun 1995 dan dicipta oleh Brandon Ike, dan menyedari bahasa itu menjadi C. 1.C Language menyediakan keupayaan pengaturcaraan prestasi tinggi dan sistem untuk JavaScript. 2. Pengurusan memori JavaScript dan pengoptimuman prestasi bergantung pada bahasa C. 3. Ciri lintas platform bahasa C membantu JavaScript berjalan dengan cekap pada sistem operasi yang berbeza.

Di sebalik tabir: Apa bahasa JavaScript?Di sebalik tabir: Apa bahasa JavaScript?Apr 28, 2025 am 12:01 AM

JavaScript berjalan dalam penyemak imbas dan persekitaran Node.js dan bergantung pada enjin JavaScript untuk menghuraikan dan melaksanakan kod. 1) menjana pokok sintaks abstrak (AST) di peringkat parsing; 2) menukar AST ke bytecode atau kod mesin dalam peringkat penyusunan; 3) Laksanakan kod yang disusun dalam peringkat pelaksanaan.

Masa Depan Python dan JavaScript: Trend dan RamalanMasa Depan Python dan JavaScript: Trend dan RamalanApr 27, 2025 am 12:21 AM

Trend masa depan Python dan JavaScript termasuk: 1. Kedua -duanya akan terus mengembangkan senario aplikasi dalam bidang masing -masing dan membuat lebih banyak penemuan dalam prestasi.

Python vs JavaScript: Persekitaran dan Alat PembangunanPython vs JavaScript: Persekitaran dan Alat PembangunanApr 26, 2025 am 12:09 AM

Kedua -dua pilihan Python dan JavaScript dalam persekitaran pembangunan adalah penting. 1) Persekitaran pembangunan Python termasuk Pycharm, Jupyternotebook dan Anaconda, yang sesuai untuk sains data dan prototaip cepat. 2) Persekitaran pembangunan JavaScript termasuk node.js, vscode dan webpack, yang sesuai untuk pembangunan front-end dan back-end. Memilih alat yang betul mengikut keperluan projek dapat meningkatkan kecekapan pembangunan dan kadar kejayaan projek.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft