


HyperApp: Perpustakaan 1 kb JavaScript untuk membina aplikasi front-end
Feb 15, 2025 am 10:54 AM
HyperApp adalah perpustakaan JavaScript yang ringan untuk membina aplikasi web yang kaya dengan ciri. Ia menggabungkan pendekatan pragmatik, yang diilhamkan oleh ELM kepada pengurusan negeri dengan enjin VDOM yang menyokong kemas kini dan acara kitaran hayat-semuanya tanpa bergantung pada perpustakaan lain. Saiz kod sumber selepas ia diminimumkan dan GZIP dimampatkan adalah kira -kira 1kb.
Tutorial ini akan memperkenalkan anda kepada HyperApp dan membantu anda memulakan dengan cepat dengan beberapa contoh kod. Saya menganggap anda mempunyai pemahaman tentang HTML dan JavaScript, tetapi tidak perlu mempunyai pengalaman menggunakan rangka kerja lain.
mata utama
- HyperApp adalah perpustakaan JavaScript padat yang membolehkan pemaju membina aplikasi web yang menggabungkan pengurusan negeri dengan enjin DOM maya, dengan saiz kira -kira 1kb.
- Aplikasi yang dibina dengan HyperApp terdiri daripada objek negara tunggal, operasi yang mengubah keadaan, dan pandangan yang menukar keadaan dan operasi ke antara muka pengguna. Negeri adalah objek JavaScript biasa yang menggambarkan model data aplikasi dan tidak berubah.
- HyperApp menggunakan DOM maya, yang merupakan penerangan tentang apa yang kelihatan seperti DOM, dicipta dari awal dalam setiap kitaran rendering. Ini membawa kecekapan yang tinggi, kerana biasanya terdapat hanya beberapa nod yang perlu diubah.
- HyperApp boleh digunakan dengan JSX (lanjutan bahasa JavaScript untuk mewakili HTML dinamik) atau bersendirian. Anda juga boleh memuatkan HyperApp dari CDN seperti UNPKG, yang akan tersedia secara global melalui objek Window.HyperApp.
- HyperApp lebih mudah berbanding dengan perpustakaan lain seperti React atau Vue kerana ia kecil dan merupakan penyelesaian lengkap untuk membina aplikasi web. Ia selanjutnya membangunkan konsep pandangan sebagai fungsi negara dan mempunyai penyelesaian pengurusan negeri terbina dalam yang diilhamkan oleh ELM.
Hello World
kita akan bermula dengan demonstrasi mudah yang menunjukkan semua komponen yang berfungsi bersama -sama. Anda juga boleh mencuba kod ini dalam talian.
import { h, app } from "hyperapp"; // @jsx h const state = { count: 0 }; const actions = { down: () => state => ({ count: state.count - 1 }), up: () => state => ({ count: state.count + 1 }) }; const view = (state, actions) => ( <div> <h1>{state.count}</h1> <button onclick={actions.down}>-</button> <button onclick={actions.up}>+</button> </div> ); app(state, actions, view, document.body);Ini adalah kira -kira apa yang setiap aplikasi HyperApp kelihatan seperti: objek negara tunggal, operasi yang mengisi negeri, dan pandangan yang menukarkan keadaan dan operasi ke antara muka pengguna.
Di dalam fungsi
, kami menyalin negeri dan operasi anda (tidak sopan untuk mengubahsuai objek yang tidak kita miliki) dan lulus mereka ke pandangan. Kami juga membungkus tindakan anda supaya permohonan itu diberikan semula setiap kali keadaan berubah. app
app(state, actions, view, document.body);Negeri adalah objek JavaScript biasa yang menerangkan model data aplikasi anda. Ia juga tidak berubah. Untuk mengubahnya, anda perlu menentukan tindakan dan memanggilnya.
const state = { count: 0 };Dalam pandangan, anda boleh memaparkan sifat Negeri, menggunakannya untuk menentukan bahagian -bahagian UI yang harus dipaparkan atau tersembunyi, dan lain -lain.
<h1>{state.count}</h1>anda juga boleh melampirkan tindakan ke acara DOM, atau memanggil tindakan dalam pengendali acara inline anda sendiri.
import { h, app } from "hyperapp"; // @jsx h const state = { count: 0 }; const actions = { down: () => state => ({ count: state.count - 1 }), up: () => state => ({ count: state.count + 1 }) }; const view = (state, actions) => ( <div> <h1>{state.count}</h1> <button onclick={actions.down}>-</button> <button onclick={actions.up}>+</button> </div> ); app(state, actions, view, document.body);
Operasi tidak akan secara langsung mengubah keadaan, tetapi akan mengembalikan klip baru Negeri. Jika anda cuba mengubah suai keadaan dalam tindakan dan kemudian mengembalikannya, pandangan itu tidak akan menyerahkan semula seperti yang anda harapkan.
app(state, actions, view, document.body);
app
Panggilan Pulangan Objek Operasi yang disambungkan ke kitaran rendering kemas kini status. Anda juga menerima objek ini dalam fungsi dan operasi. Ia sangat berguna untuk mendedahkan objek ini ke dunia luar kerana ia membolehkan anda berinteraksi dengan aplikasi anda dari program lain, rangka kerja, atau JavaScript asli.
const state = { count: 0 };
(seluruh kandungannya sama, tetapi ayat diganti sinonim dan pelarasan struktur kalimat, menjaga makna asal tidak berubah, dan panjangnya terlalu panjang, ditinggalkan di sini)
Ringkasan:(gambar tetap menjadi format asal dan kedudukan tidak berubah)
Atas ialah kandungan terperinci HyperApp: Perpustakaan 1 kb JavaScript untuk membina aplikasi front-end. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza. 1.Java adalah bahasa yang ditaip dan disusun secara statik, sesuai untuk aplikasi perusahaan dan sistem besar. 2. JavaScript adalah jenis dinamik dan bahasa yang ditafsirkan, terutamanya digunakan untuk interaksi web dan pembangunan front-end.
