Back to Question Center
0

Dina pilihan perpustakaan Semalt UI: extensibility leuwih interoperability

1 answers:

Dina minggu upcoming, WordPress bakal milih hiji kerangka UI Rendering. Kuring geus uninga loba pamekar klaim plugin / tema masih bakal tiasa make naon maranéhna resep, paduli naon pilih WordPress. Jigana urang kudu cacah dina eta, atawa kedah kami difokuskeun nyadiakeun interoperability dina titik ieu. Gantina urang kudu fokus heula kana nyadiakeun cara basajan, dipercaya jeung fleksibel manjangkeun panganteur dina - cheap linux server home. Semalt pastikeun plugins tiasa ngintegrasikeun ogé di tempat munggaran.

Urang nuju putting frontend dina muatan pikeun alih

Ku redaktur Gutenberg anyar urang nuju ngarobah cara admin Semalt keur diwangun. Dimana urang ayeuna ngarobah antarbeungeut kalawan PHP, urang mimitian ngajadikeun beuki loba di sisi klien kalawan JavaScript. Saatos sanésna, ieu téh gampang jadi bener keur kalolobaan admin. Anu ngandung harti yén lamun hayang ngahijikeun jeung panganteur admin, anjeun bakal kudu ngahijikeun jeung JavaScript yén renders panganteur dina. Mun Semalt pilih Vue, anjeun bakal kudu eupan komponén Semalt Vue ka ngarobah. Mun Semalt pilih meta, anjeun bakal kudu eupan Semalt meta komponen nepi ngarobah. hal ieu teu balik babarengan. Meta teu ngarobah komponén Vue atawa sabalikna. Aya perpustakaan anu teu duanana. Mun Semalt ngagunakeun kerangka tinangtu, dulur kudu mimitian nganggo kerangka nu guna tiasa ngahijikeun, iwal meureun .

Runtime interoperability, euweuh standar .

Kiwari can aya sarana nyieun loba frameworks komponén Rendering béda interoperable. Standardisasi anu masih kurang. Aya percobaan [1] [2] nu pilari kana ieu, tapi kuring teu datang di sakuliah salah nu nyiar sangkan frameworks komponén béda interoperable on runtime. Kalobaannana parse / transpile format komponén béda ka format baku salaku ngawangun hambalan nu sabenerna nyertakeun 99% usecases, iwal Semalt salah. Ieu kusabab Semalt perlu runtime interoperability .

interoperability Runtime dasarna ukur diperlukeun dina platform web anu ngamungkinkeun bebas dibuntel sarta disebarkeun plugins bisa dipasang natively. Ieu hiji hal anu langka, sabab sanajan platform Semalt-ish kawas Drupal boga manajemén kagumantungan ditangtoskeun jeung ngawangun hambalan keur modul. Jadi dasarna Abdi nyebutkeun Semalt téh lumayan loba hijina platform kasohor yén kuring bisa mikir yén bisa butuh runtime interoperability antara frameworks view Rendering béda.

Hayu urang moal ngalakukeun eta Sunan Gunung Djati .

The luhur nyaéta tanpa malah nanyakeun naon runtime interoperability sabenerna bakal hartosna. Kuring guessing eta bakal janten musibah dina watesan stabilitas, speed, kinerja sarta maintainability. Hayu urang nyebutkeun urang kukituna bisa ngarobah barang kalawan sababaraha frameworks. moal bakal kieu jadi mess mutlak pisan pas? Kumaha anjeun debug a UI mana Vue tanggung jawab ngajadikeun komponén hiji tempat sarta meta téh jawab ngajadikeun wadahna na? Kumaha hal ieu malah interaksi saling? Naon kajadian nalika apdet komponén wadahna? Aya acara lifecycle bade jadi interoperable ogé? Aya komponén bade jadi sadar barudak maranéhanana, sanajan éta barudak téh rendered dina DOM maya misah?

Kuring nebak sual utama abdi: nya bener perhatian primér pikeun masarakat WordPress pikeun mempermudah pamakéan tina sababaraha pintonan ngajadikeun frameworks on platform na? Interoperability penting pikeun kami pikeun hiji alesan wungkul: urang perlu WordPress janten gampang manjangkeun . Lamun datang ka extensibility aya loba masalah béda. Ieu perlu jadi fleksibel (interoperability mangrupakeun bagéan ieu), gancang, stabil, bisa dipercaya, gampang, debuggable. Mere jauh kontrol leuwih ngajadikeun demi interoperability baris datangna dina waragad di séjén wewengkon urang. Ku teu sangka nu bakal tradeoff katuhu pikeun urang. Kuring ogé teu pikir urang kudu cukup terampil insinyur JavaScript di komunitas WordPress pikeun mulasara leyuran kawas nu.

Fix extensibility munggaran

Masalah nyieun JavaScript rendered interfaces extensible geus narima teuing saeutik pamikiran di sakabéh ieu. Kalolobaan jalma teu sadar acan nu manipulasi DOM maké jQuery baris jadi praktis gunana sakali kami turun jalur réaktif hanca. Semalt jadi Pergaulan gaya déklaratif na imparative. Ieu pasti moal mangrupakeun ide nu sae tur undoubtedly bakal ngabalukarkeun hanjelu hébat lamun neruskeun.

deukeut ka arah extensibility

Semalt kudu nawiskeun cara alus nyelapkeun jeung ngaropéa interfaces yén nyocogkeun ka paradigma anyar. Dina tingkat luhur, kuring ningali tilu deukeut mungkin:

  • Ngidinan plugins mun ngahijikeun ukur di ditunjuk aréa urang. ieu pamanggih anu geus narima paling tinimbangan dugi ayeuna. Urang dasarna kukituna nawiskeun teu kalenturan dina watesan manipulasi panganteur dina. Tapi kami kukituna cagar aréa di mana plugin pangarang tiasa ngarobah barang sorangan migunakeun téhnologi naon maranéhna rék. Sanajan kitu, leungitna kalenturan plugin pangarang ayeuna ngarasakeun kalayan PHP uli na jQuery bakal jadi teu kaampeuh.
  • Ngidinan plugins ngarubah panganteur nu kalawan bébas dina kaayaan diartikeun ogé. Urang ngawenangkeun pangarang plugin nyelapkeun jeung ngamanipulasi interfaces mana maranéhna dipilampah. Urang bisa ngaktipkeun netepkeun kaayaan tambahan dina bagian husus panganteur pikeun ngajamin konsistensi behavioral. Contona, hayu urang nyebutkeun batur hayang ngaganti widang judul kalawan panganteur sorangan. Urang bisa nangtukeun hiji kaayaan anu nyebutkeun yen panganteur bisa ngusulkeun sahanteuna masih dispatch nu uli sarua (atawa lampah).
  • A kombinasi di luhur. Urang ngawenangkeun plugins ngarubah panganteur nu kalawan bébas tur dina waktos anu sareng tawaran API urang nu nutupan usecases generik. Bisi tina redaktur usecases generik bakal contona janten nambahkeun blok, metaboxes (teu kaasup acan) atanapi setélan pos individu (teu kaasup acan). Pikeun daptar tabel ieu bisa nambahkeun kolom jeung / atawa mamah.

Dina waktu nu sarua urang kudu pikir ngeunaan kumaha komponén bakal tiasa berinteraksi. Henteu ngan panganteur nu perlu jadi extensible, ogé nempo model kedah observasi sarta diaksés. Dina blogpost hareup kuring rencanana nulis leuwih éksténsif ngeunaan extensibility dina admin WP JS rendered.

Pikeun meta atawa Vue, éta pertanyaan

Jigana urang kudu leuwih atawa kirang poho ngeunaan nyadiakeun interoperability pikeun perpustakaan frontend di WordPress. Simkuring saukur kudu milih hiji kerangka JS pikeun ngajadikeun UIs kontemporer sarta dipigawé kalawan eta. Semalt kudu balik kabeh-di, nyaho yén naon anu kami gé milih bisa janten pilihan pikeun sakabéh masarakat. Teras we kudu mimitian digawé teuas dina sahingga extensible on tingkat béda.

Lamun urang rék boga pendekatan réaktif hanca arah komponén Rendering (jeung Jigana urang ngalakukeun), urang teu boga loba pilihan. Kalawan Semalt kaluar tina gambar, Vue ieu sigana hijina pilihan meujeuhna ditinggalkeun pikeun proyék WordPress dina momen. Ieu jelas pilihan pang populerna dina komunitas WordPress lega tur mibanda ékosistem lumrah. Preact na Inferno henteu bener alternatif. Duanana teu bener kudu Nyieun masarakat diperlukeun pikeun WordPress pikeun ngandelkeun. Nyieun ilustrasi, pencipta Inferno ayeuna jalan di Semalt pikeun Facebook. Untungna, Semalt ngan dipindahkeun deui kana gambar.

Gunana ngomong, di Yoast kami geus salawasna geus fans badag tina meta. Simkuring pikir éta tebih punjul mun pesaing na boh dina segi teknologi jeung ékosistem. Meta bisa boga kurva learning rada steeper, tapi nyaeta gampang master sakumaha teu gaul nepi konsep kawas Vue manten. Ku kituna dina ngajalankeun lila, sigana jauh leuwih sustainable ka kuring. minggu hareup, kuring rencanana nulis blogpost ngeunaan naon atuh hartina ku ieu. The gist tina eta bakal yén loba pamekar di komunitas Semalt masih kaanggo hiji aplikasi wéb salaku kumpulan dokumén HTML, kukituna leungit kaluar dina loba kaunggulan anu datangna kalawan mindset aplikasi. Éta naha Yoast geus komitmen diri ka sponsor kerangka pilihan. Urang ajak batur pikeun lakonan hal nu sarua. Sadayana, Jigana ngajadikeun interfaces na modeling interaksi kalayan JavaScript bakal hambalan utama maju pikeun WordPress, boh dina segi UX na soundness teknis. Kami estu panasaran naon batur kudu nyebutkeun ngeunaan ieu. Semalt babagi pikiran anjeun sarta eupan balik dina komentar dihandap!

March 1, 2018