cari

WordPress dan Jamstack

Baru -baru ini, saya menganjurkan panel di Persidangan Jamstack Maya Netlify, yang termasuk CEO Netlify Matt Biilman dan pengasas automatik Matt Mullenweg. Perbincangan itu dilihat oleh banyak orang sebagai "Jamstack vs. WordPress pertikaian."

Saya secara peribadi mempunyai banyak pemikiran tentang ini dan fikir saya lebih sesuai untuk menjadi pengulas daripada moderator. Ini adalah salah satu perbincangan teknikal kegemaran saya sekarang! Oleh itu, izinkan saya menulis blog.

Kenyataan: Automattic dan Netlify adalah penaja aktif laman web ini. Saya mempunyai beberapa tapak pengeluaran yang menggunakan kedua -duanya, dan jujur, saya suka mereka semua, yang merupakan titik utama saya akan cuba menghuraikan. Saya kebetulan menulis dan menerbitkan artikel ini di laman web WordPress.

Kajian Sejarah

  1. Richard MacManus menerbitkan sebuah artikel "Pengasas bersama WordPress Matt Mullenweg bukan penggemar Jamstack," memetik perbualan e-mel di antara mereka, berkata, "Bagi kebanyakan orang yang mengadopsi Jamstack, ia adalah tindak balas."
  2. Matt Biilmann menjawab artikel "Mengenai Mullenweg dan Jamstack - ke belakang atau masa depan?", Dengan seksyen bertajuk "The End of the WordPress Era."
  3. Dalam tempoh ini, orang berkomentar. Ahli Lembaga Netlify Ohad Eder-Pressman menulis surat terbuka. Sarah Gooding meringkaskan beberapa aktiviti di WP Tavern (dimiliki oleh Matt Mullenweg). Saya juga terlibat.
  4. Matt Mullenweg menjelaskan komennya dan menambah beberapa komen baru.

Perdebatan itu diadakan pada Persidangan Maya Jamstack 2020. Pada masa ini tiada rekod video awam (maaf).

Perbandingan Senibina

Ia agak pelik untuk membandingkan Jamstack dengan WordPress. Apa yang benar -benar setanding adalah bahawa mereka adalah semua cara yang mungkin untuk dipilih ketika membina laman web. Kebanyakan jawatan ini akan menyimpannya dalam fikiran dan membandingkan kedua -duanya dengan cara ini. Sebab mengapa mereka tidak dapat dibandingkan secara langsung adalah kerana:

  • Jamstack adalah penerangan luas tentang konsep seni bina yang menggalakkan penggunaan fail statik pada CDN dan menggunakan perkhidmatan yang diakses oleh JavaScript untuk memenuhi keperluan dinamik.
  • WordPress adalah CMS berdasarkan seni bina lampu.

Kedua -duanya tidak sama.

Jika kita hanya memberi tumpuan kepada seni bina pada masa ini, objek yang kita bandingkan akan menjadi:

  • Perkhidmatan hosting statik
  • Lampu

Contoh perkhidmatan statik adalah menggunakan Netlify untuk hosting (yang statik) dan menggunakan perkhidmatan untuk melakukan apa -apa operasi dinamik yang perlu dilakukan. Mungkin anda menggunakan ciri dan ciri pengesahan Netlify sendiri dan Hasura untuk penyimpanan data.

Dalam seni bina lampu, anda menggunakan MySQL untuk menyimpan data, jadi anda tidak perlu menggunakan perkhidmatan luaran. Anda juga boleh menggunakan PHP. Jadi dengan ini (dan perisian sumber terbuka), anda mempunyai semua yang anda perlukan untuk pengesahan. Tetapi itu tidak bermakna anda tidak pernah menggunakan perkhidmatan ini; Hanya saja anda menggunakan perkhidmatan yang kurang kerap kerana anda sudah mempunyai lebih banyak teknologi di pelayan.

Matt B. Call Lamp Architecture "Monomer Architecture". Matt M. membantah ini dan memanggilnya "kaedah integrasi." Saya bukan saintis komputer, tetapi saya fikir kedua -dua kenyataan itu masuk akal. Berikut adalah penjelasan dari Wikipedia:

[...] Aplikasi monolitik menerangkan aplikasi perisian tunggal lapisan di mana antara muka pengguna dan kod akses data digabungkan dalam program.

Dengan definisi ini, WordPress nampaknya merupakan seni bina monolitik, tetapi artikel Wikipedia terus:

[...] Aplikasi monolitik menerangkan aplikasi perisian yang tidak direka untuk menjadi modular.

Dari perspektif ini, nampaknya WordPress tidak memenuhi definisi seni bina monolitik. Cangkuk WordPress dan seni bina plug-in adalah modular. ? ‍♂️

Ia akan menjadi menarik untuk mendengar kedua-dua lelaki besar ini membincangkan ini secara mendalam, tetapi perisian adalah perisian. Laman web WordPress yang dihoskan sendiri berjalan pada pelayan dengan timbunan teknologi penuh. Adalah masuk akal untuk memanfaatkan sepenuhnya pelayan ini (iaitu integrasi). Dalam kaedah Jamstack, pelayan adalah abstrak. Semua perkara lain yang perlu anda lakukan adalah berpecah kepada perkhidmatan yang berbeza (iaitu tidak bersepadu).

Kaedah WordPress tidak bermakna anda tidak pernah menggunakan perkhidmatan luaran. Dalam kedua-dua seni bina, anda boleh menggunakan API e-dagang seperti Stripe. Anda boleh menggunakan perkhidmatan seperti Cloudinary untuk penyimpanan dan perkhidmatan media yang kuat. Malah perkhidmatan jetpack WordPress (yang saya gunakan dan suka) membawa kuasa besar kepada laman web WordPress yang dihoskan sendiri, yang berjalan seperti perkhidmatan pihak ketiga , dengan memindahkan teknologi aset dan teknologi carian ke pelayan awan. Kedua -dua seni bina adalah koleksi teknologi.

Tidak ada seni bina adalah "rumah kad" dan tidak lebih rapuh daripada yang lain. Semua laman web boleh memohon metafora "kekuatannya bergantung pada pautan yang paling lemah". Jika plugin WordPress menerbitkan versi yang salah atau dipecahkan entah bagaimana apabila dimuat naik, ia boleh menyebabkan masalah dengan laman web saya sehingga saya memperbaikinya. Jika kunci API pangkalan data tanpa pelayan saya tidak sah, saya mungkin menghadapi masalah dengan laman web jamStack saya sehingga saya memperbaikinya. Jika Stripe turun, saya tidak akan dapat menjual sebarang produk di mana -mana jenis laman web sehingga saya meneruskan perkhidmatan.

Harga

WordPress.com mempunyai pelan percuma, yang pastinya merupakan tempat untuk membina laman web. (Saya mempunyai beberapa.) Walau bagaimanapun, melainkan jika anda menggunakan pelan perniagaan $ 25 sebulan, anda sebenarnya tidak mempunyai akses kepada ciri peringkat pemaju. WordPress sendiri yang dihoskan sendiri adalah sumber terbuka dan percuma, tetapi anda tidak dapat mencari tempat untuk melancarkan laman web WordPress yang dihoskan sendiri secara percuma. Ia bermula pada harga yang rendah dan kemudian secara beransur -ansur meningkat. Anda memerlukan hosting lampu untuk menjalankan WordPress. Berikut adalah rancangan hosting yang cukup murah:

  • Pelan "saham" Bluehost bermula pada $ 3.95 sebulan.
  • Pelan minimum Flywheel ialah $ 14 sebulan. (Laman web ini menggunakan program premium Flywheel.)
  • Hosting khusus WordPress Kuil Media bermula pada $ 20 sebulan. (Laman web ini telah menggunakan program premium Media Temple untuk masa yang lama.)
  • Perkhidmatan yang boleh ditekan automatik mempunyai pelan yang bermula pada $ 25 sebulan.

Ia memerlukan wang dari awal.

Jamstack adalah lebih biasa untuk bermula secara percuma dan kemudian menanggung kos pada masa yang berbeza. Oleh kerana Jamstack agak baru, rasanya seperti pasaran masih meneroka.

  • Vercel adalah percuma sehingga anda memerlukan ciri-ciri seperti ahli pasukan atau laman web yang dilindungi kata laluan. Laman web yang dilindungi kata laluan tunggal $ 150 sebulan. Anda boleh menambah pengesahan asas ke mana -mana pelayan dengan Apache tanpa kos tambahan.
  • Netlify sangat serupa, membuka ciri-ciri pada pelan yang lebih tinggi dan menawarkan ciri bayar-setiap tapak seperti analisis ($ 9 sebulan) dan pengesahan ($ 99 sebulan untuk 5,000 pengguna aktif).
  • AWS Amplify bermula secara percuma, tetapi seperti segala-galanya di AWS, penggunaan anda dibebankan secara berasaskan kuantiti pada banyak peringkat, seperti minit membina, penyimpanan, dan jalur lebar. Mereka mempunyai pengiraan contoh bahawa aplikasi web mempunyai 10,000 pengguna aktif sehari, dikemas kini dua kali sebulan, dan berharga $ 65.98 sebulan.
  • Azure Static Web Apps belum mengeluarkan harga, tetapi hampir pasti peringkat percuma atau bebas untuk digunakan atau entah bagaimana.

Semua ini mengingatkan kita bahawa Netlify bukanlah satu -satunya pemain di ruang Jamstack. Jamstack hanya bermaksud perkhidmatan hosting statik ditambah .

Anda tidak boleh membuat kenyataan umum seperti Jamstack lebih murah. Ini terlalu bergantung pada penggunaan laman web dan keperluan laman web. Untuk penggunaan yang tinggi dan banyak perkhidmatan canggih, Jamstack (sama seperti Serverless) boleh menjadi sangat mahal. Jamstack mengatakan harga perniagaan mereka bermula pada $ 3,000 sebulan, dan sementara anda boleh mendapatkan ciri seperti pengesahan, borang dan pemprosesan media, anda tidak akan mendapat CMS atau sebarang penyimpanan data, yang boleh membuat kos anda dengan ketara.

Walaupun laman web WordPress ini bukan gred perusahaan, saya dapat memberitahu anda bahawa ia memerlukan kira-kira $ 1,000 sebulan untuk pelayan, dengan mengandaikan Cloudflare berada di hadapannya untuk membantu mengurangkan jalur lebar terus ke tuan rumah, serta pengendalian keupayaan hosting media dan carian Jetpack. MailChimp menghantar surat berita kami. Wufoo menyokong borang kami. Kami juga telah membayar plugin seperti Advanced Custom Fields Pro dan beberapa tambahan WooCommerce. Itu bukan semua. Jumlah mungkin beberapa ribu dolar sebulan. Ini tidak unik untuk pendekatan integrasi, tetapi ia membantu untuk menggambarkan bahawa kos laman web WordPress juga boleh agak tinggi. Mereka tidak menerbitkan harga (strategi biasa untuk perniagaan), tetapi perkhidmatan hosting WordPress VIP sendiri Automattic pasti berharga di atas empat digit, dan kemudian anda juga perlu menambah kandungan pihak ketiga.

Bottom line: Tidak ada perubahan besar dalam harga di sini.

prestasi

80% prestasi laman web adalah masalah front-end.

Ini benar, tetapi ia juga berdasarkan pelayan (20% dari awal ). Antara muka terpantas di dunia jika permintaan pertama pelayan mengambil masa beberapa saat untuk kembali, ia tidak akan berasa sangat cepat. Jika anda mahukan laman web yang cepat, anda perlu memastikan bahawa permintaan pertama sangat cepat.

Adakah anda tahu apa yang sangat pantas? CDN global menyediakan fail statik. Tidak kira apa situasi Backend Server, Hosting atau CMS, inilah yang anda ingin capai. Walaupun ini adalah asas Jamstack (hosting yang disokong CDN statik), itu tidak bermakna WordPress tidak dapat melakukannya.

Anda meletakkan fail index.html dengan kandungan statik pada netlify dan ia akan menjadi sangat cepat. Mungkin penjana laman web statik anda akan menjana fail itu (ia patut menunjukkan bahawa ia mungkin mendapat kandungan dari WordPress). Ini sangat hebat.

Secara lalai, WordPress tidak menjana fail statik yang boleh di -cache pada CDN global. WordPress bertindak balas terhadap permintaan dari satu sumber, menjalankan PHP, kemudian meminta kandungan dari pangkalan data, kemudian memasang respons, dan akhirnya kembali ke halaman. Ini mungkin cepat, tetapi jauh lebih stabil daripada fail statik pada CDN global dan lebih cenderung untuk dibanjiri oleh permintaan.

Tuan rumah WordPress tahu ini dan mereka cuba menyelesaikan masalah ini di peringkat hosting. Lihatlah kaedah enjin WP. Tanpa anda melakukan apa -apa, mereka menggunakan caching halaman supaya laman web pada dasarnya boleh mengembalikan aset statik tanpa menjalankan PHP atau mengakses pangkalan data. Mereka juga menggunakan pelbagai teknologi caching lain, termasuk bekerja dengan Cloudflare untuk caching optimum. Laman web shoptalkshow.com saya sebenarnya turun ketika saya menulis ini. Saya menulis kepada tuan rumah tuan rumah untuk melihat apa yang berlaku. Ternyata ketika saya pergi ke sana dan membuka tapak pementasan, saya menukar suis yang salah, mematikan cache mereka. Laman web tidak dapat mengendalikan lalu lintas dan kemalangan secara langsung. Menghidupkan suis cache kembali diselesaikan dengan segera. Saya tidak menggunakan Cloudflare di hadapan laman web, tetapi saya sepatutnya.

Cloudflare adalah sebahagian daripada petua ajaib untuk membuat WordPress lebih cepat. Hanya letakkan di hadapan laman web WordPress yang dihoskan sendiri dan anda boleh memainkan peranan yang besar dalam meningkatkan kelajuan dan kebolehpercayaan. Salah satu bahagian yang hilang adalah caching HTML yang sangat baik, yang mereka selesaikan bulan ini dan kini boleh didapati untuk cache juga. Menariknya, caching WordPress bermaksud permintaan cache sebagai aset statik dan aset statik dan melayani mereka dari CDN global, yang akhirnya merupakan intipati Jamstack.

Matt M. menyebut bahawa WordPress.com menggunakan CDN global yang dilancarkan pada tahap lalu lintas tertentu. Saya tidak pasti jika ia adalah Cloudflare, tetapi saya tidak akan ragu -ragu.

Selepas menggunakan CloudFlare di hadapan tapak WordPress, nombor tindak balas pertama yang saya lihat adalah sama seperti tapak Netlify tanpa CloudFlare (kerana mereka tidak mengesyorkan menggunakan CloudFlare di hadapan tapak yang dihoskan Netlify). Ini adalah nombor pesanan milisaat dua digit, sangat baik.

Dari dasar ini, sebarang perbincangan tentang prestasi akan menjadi spesifik front-end. Strategi kelajuan depan adalah sama tanpa mengira pelayan back-end, hosting, atau situasi CMS.

Keselamatan

Terdapat banyak lagi cerita mengenai laman web WordPress yang digodam daripada laman web Jamstack. Tetapi adakah adil untuk mengatakan bahawa WordPress kurang selamat? WordPress telah wujud selama kira -kira dua puluh tahun, dan bilangan laman web yang dibina di atasnya adalah perintah magnitud lebih daripada Jamstack. Selain keselamatan, memandangkan nombor ini, anda akan mendengar lebih banyak cerita dari WordPress.

Matt M menyebut bahawa Whitehouse.gov menggunakan WordPress, yang jelas merupakan laman web yang memerlukan tahap keselamatan tertinggi. Ini bukan untuk mengatakan bahawa WordPress sendiri adalah perisian yang tidak selamat. Kuncinya ialah bagaimana anda menggunakannya. Adakah kata laluan anda tidak selamat? Tidak kira apa platform yang anda gunakan, ia tidak selamat. Adakah tidak selamat untuk pelayan itu sendiri untuk lulus keizinan fail atau tahap akses? Ini bukan sepenuhnya kesalahan perisian, tetapi anda mungkin berada dalam keadaan ini kerana perisian. Adakah anda menjalankan versi terbaru WordPress? Penggunaan disebarkan dengan sebaik -baiknya, dan semakin tua versi, semakin kurang keselamatannya. Sukar.

Ia mungkin lebih menarik untuk dipertimbangkan menyerang medium . Maksudnya, di mana titik boleh digodam. Jika fail statik anda berada di hosting statik, saya fikir ia adalah selamat untuk mengatakan bahawa vektor serangan agak kecil. Namun, masih ada beberapa:

  • Akaun hosting anda boleh digodam
  • Repositori git anda boleh digodam
  • Akaun Cloudflare anda boleh digodam
  • Nama domain anda mungkin dicuri (ia berlaku)

Begitu juga dengan laman web WordPress, tetapi ada vektor serangan lain seperti:

  • Kod sisi pelayan: XSS, pemalam buruk, pelaksanaan jauh, dll.
  • Kerentanan pangkalan data
  • Jalankan versi lama WordPress
  • Log masuk ke sistem ada di laman web itu sendiri, sebagai contoh, orang jahat boleh menyerang /wp-login.php

Saya fikir ia adil untuk mengatakan bahawa laman web WordPress mempunyai lebih banyak vektor serangan, tetapi mana -mana laman web mempunyai banyak media. Akaun hosting untuk mana -mana laman web adalah medium utama. Apa -apa sahaja dalam rantai DNS. Sebarang perkhidmatan pihak ketiga dengan maklumat log masuk. Sebarang kandungan dengan kunci API.

Pengalaman Peribadi: Laman web ini menggunakan WordPress dan tidak pernah digodam, tetapi bukan kerana ia belum dicuba. Saya berasa seperti saya perlu berfikir lebih lanjut mengenai keselamatan laman web WordPress daripada laman web yang dibina dengan hanya penjana laman web statik.

Extensibility

Memperluas sebarang kaedah kos wang. Laman web WordPress ini tidak berkembang secara berskala, tetapi ia memerlukan pengembangan yang lebih menuntut daripada pelayan peringkat kemasukan. Saya melayani semua lalu lintas melalui Cloudflare, jadi data puncak dari 30 hari yang lalu menunjukkan bahawa saya menyediakan 5 TB jalur lebar sebulan.

Dalam pelan perniagaan Netlify (dapatkan 600 GB trafik sebulan, kemudian caj $ 20 untuk setiap tambahan 100 GB), pengiraannya ialah $ 979. Ingat ketika saya berkata sebelum ini bahawa laman web ini memerlukan pelayan kira -kira $ 1,000 sebulan? Saya menulis ini sebelum menjalankan nombor ini, jadi ia sangat dekat (hebat). Pada skala laman web ini, Jamstack adalah setanding dengan WordPress. Semua tuan rumah akan mengenakan jalur lebar dan mempunyai had berlebihan. Menguatkan caj $ 0.15 setiap GB untuk jalur lebar sepanjang topi bulanan 15 GB. Flywheel (hosting WordPress saya) berdasarkan topi pelawat bulanan, dan selepas topi itu melebihi, ia akan dikenakan $ 1 setiap 1,000 orang.

Kisah lanjutan WordPress adalah:

  • Gunakan tuan rumah yang boleh mengendalikannya dan mempunyai dasar caching mereka sendiri.
  • CDN semuanya (ini biasanya bermaksud meletakkan Cloudflare di depan).
  • Akhirnya, anda akan membayarnya.

Kisah peluasan jamStack adalah:

  • Kedua -dua tuan rumah dan perkhidmatan dibina untuk berskala.
  • Anda tidak perlu berfikir terlalu banyak sama ada perkhidmatan ini boleh mengendalikan ini atau adakah saya memerlukan penghijrahan? Masalah lanjutan seperti itu.
  • Anda perlu mempertimbangkan lebih lanjut mengenai hakikat bahawa setiap aspek setiap perkhidmatan akan mempunyai harga yang memerlukan perhatian .
  • Akhirnya, anda akan membayarnya.

Saya terpaksa berhijrah hosting WordPress saya untuk mencari tuan rumah yang sepadan dengan keperluan semasa laman web. Memindahkan laman web WordPress tidak mudah, tetapi lebih mudah daripada berhijrah ke CMS yang lain. Sebagai contoh, jika anda membina laman web Jamstack pada CMS tanpa kepala dan harga menjadi terlalu tinggi, kos penghijrahan lebih besar daripada menukar tuan rumah.

Saya suka Dave Rupert pada hari yang lain (dalam perbualan yang lemah) tentang membandingkan prestasi kedua -duanya:

Jamstack: Gunakan apa sahaja untuk membina barangan anda, terdapat beberapa tambahan yang dapat membantu anda, dan menggunakan barangan kami untuk menggunakannya ke CDN supaya ia tidak terhempas.

WordPress: Gunakan barangan kami untuk membina barangan anda, terdapat beberapa tambahan yang dapat membantu anda, anda perlu menggunakan tuan rumah tertentu untuk menghalangnya daripada terhempas.

Terdapat jenis "sambungan" lain. Apa yang saya fikirkan adalah bilangan pengguna dan perkara lain. Ini adalah metrik yang dapat difahami untuk pelbagai perkhidmatan yang akan digunakan dalam hierarki harga. Tetapi di WordPress ia percuma. Anda boleh mempunyai seberapa banyak pengguna yang anda suka dan mempunyai keizinan yang teliti seperti yang anda suka. Ini hanya CMS, jadi menambah perkhidmatan lain mungkin masih dikenakan setiap pengguna. Vercel atau Netlify caj per pengguna untuk akaun pasukan. Kandungan (CMS tanpa kepala yang popular) bermula pada $ 489 sebulan. Malah pasukan pasukan Github berharga $ 4 setiap pengguna jika anda memerlukan sebarang ciri yang tidak ditawarkan oleh akaun percuma.

Pisahkan bahagian depan dan belakang

Ini adalah faktor besar yang membuat orang teruja dengan membina laman web dengan Jamstack. Jika semua ciri dan kandungan laman web saya berada di belakang API, bahagian depan boleh dibina seperti yang anda suka.

  • Mahu membina laman web statik sepenuhnya? Ok, akses API semasa proses membina dan lakukan ini.
  • Mahu membina laman web yang diberikan oleh pelanggan menggunakan React atau Vue atau apa-apa lagi? Sangat baik, API Akses Pelanggan.
  • Mahu memecah tengah, pra-membuat beberapa, rendering sisi klien, penyampaian sisi pelayan? Hebat, ini adalah API yang boleh anda akses sebanyak yang anda mahukan.

Fleksibiliti ini hebat dalam binaan baru, tetapi orang -orang sama -sama teruja dengan fleksibiliti masa depan teori . Sekiranya semua ciri dan kandungan didorong oleh API, anda boleh memisahkan bahagian depan dan bahagian belakang, yang bermaksud anda boleh mengubah kedua-dua pihak lebih fleksibel pada masa akan datang.

  • Selagi API anda terus mengeluarkan apa yang diharapkan pada bahagian depan, anda boleh mengadakan semula bahagian belakang tanpa menjejaskan bahagian depan.
  • Selagi anda mendapat data yang anda perlukan, anda boleh menyusun semula bahagian depan tanpa menjejaskan bahagian belakang.

Untuk laman web saiz dan saiz tertentu, pemisahan ini terasa "selamat di masa depan". Saya tidak dapat menentukan dengan tepat apa nombor saiz ini, tetapi mereka ada.

Sekiranya anda pernah melakukan sebarang arkitek laman web utama untuk menyesuaikan satu pihak atau yang lain, ia pasti merasakan langkah bijak untuk bergerak ke sistem yang memisahkan backend dan frontend.

Anda boleh melepaskan laman web WordPress anda (kami akan membincangkan dalam bahagian "Gunakan Kedua-dua"), tetapi secara lalai WordPress adalah penyelesaian yang sangat bersepadu di mana hujung depan dibina dari tema dalam PHP menggunakan API khusus WordPress. Tiada pemisahan sama sekali.

Pengalaman pemaju

Jamstack sebahagian besarnya memprioritaskan pengalaman pemaju (DX). Saya telah mendengar beberapa menyebutnya "optimum tempatan", yang bermaksud reka bentuk Jamstack berkisar mengenai pengalaman pembangunan tempatan (dan pemaju tempatan).

  • Anda harus bekerja secara tempatan. Anda bekerja di persekitaran pembangunan anda yang selesa (tempatan, cepat, adat).
  • Git adalah warganegara pertama. Anda menolak ke cawangan pengeluaran anda (seperti tuan atau utama), dan kemudian proses binaan anda berjalan dan laman web anda digunakan. Anda juga boleh mendapatkan URL pratonton untuk laman web pengeluaran untuk setiap permintaan tarik, yang merupakan ciri yang sangat kuat.
  • Gunakan mana -mana alat yang anda suka. Adakah anda ingin membangunkan laman web di Hugo? Lakukan saja. Adakah anda belajar membuat reaksi-aplikasi di sekolah? Walaupun digunakan. Ingin mencuba rangka kerja terkini? Walaupun anda mencuba. Anda bebas membina cara anda sendiri, memanfaatkan hakikat bahawa anda boleh membina dan menggunakan mana -mana folder yang anda inginkan di repositori.
  • Perkara yang anda tidak perlu lakukan juga penting. Anda tidak perlu berurusan dengan HTTPS, anda tidak perlu berurusan dengan cache, anda tidak perlu bimbang tentang kebenaran fail, anda tidak perlu mengkonfigurasi CDN. Malah pemaju kanan menghargai bahawa tidak perlu berbuat lebih banyak.

Ini bukan untuk mengatakan bahawa WordPress tidak menganggap pengalaman pemaju (contohnya, mereka mempunyai CLI yang melakukan operasi berguna seperti blok bangunan), tetapi saya tidak fikir DX adalah sama pentingnya dengan saya sebagai teras projek.

  • Running WordPress secara tempatan adalah rumit dan memerlukan anda untuk menjalankan (x) amp stack entah bagaimana, yang melibatkan dalam perisian pihak ketiga yang sukar difahami. Terima kasih Local oleh Flywheel. Terdapat beberapa panduan, tetapi ia tidak merasakan keutamaan.
  • Apa yang perlu saya masukkan ke Git? Sehingga hari ini, saya masih tidak begitu jelas, tetapi pada dasarnya saya memutuskan untuk menggunakan folder keseluruhan /WP-kandungan. Kepada saya, terasa aneh bahawa tidak ada bimbingan atau amalan terbaik yang jelas.
  • Anda perlu bertanggungjawab untuk penempatan anda sendiri. Malah tuan rumah yang berdedikasi WordPress tidak benar -benar melakukan ini. Ini sebahagian besarnya: Ini adalah kelayakan SFTP anda .
  • Walaupun anda mempunyai pembangunan tempatan yang baik dan saluran paip penempatan (saya sangat gembira dengan saya), ini tidak benar -benar membantu pergerakan pangkalan data, jadi anda perlu mengambil tanggungjawab untuknya sendiri.

Ini semua masalah yang dapat diselesaikan, dan komuniti WordPress sangat besar dan anda dapat mencari banyak maklumat yang relevan di dalamnya, tetapi saya fikir ia adil untuk mengatakan bahawa WordPress tidak mempunyai DX sebagai terasnya. Walaupun selepas bertahun -tahun, ia masih agak seperti Wild West.

Malah, saya mendapati bahawa ramai orang tidak mempunyai persekitaran pembangunan tempatan kerana peminggiran galakan untuk persekitaran pembangunan tempatan yang sihat. Ia adalah anekdot, tetapi sekarang saya mendapati diri saya terlibat dalam laman web orang lain dua kali ganda sepenuhnya pengeluaran sahaja . Ini cerita yang berbeza jika mereka adalah laman web yang sangat mudah dan mempunyai tingkah laku lalai sebahagian besarnya, tetapi laman web ini tidak. Mereka sangat kompleks (jauh lebih kompleks daripada laman web ini), yang melibatkan log masuk pengguna awam, keahlian dan keizinan yang dibayar, pembina halaman, shortcode tersuai, CSS adat, dan sebilangan besar bahagian aktif. Ini sangat menakutkan saya. Saya tidak mahu menyentuh apa -apa. Mereka menyunting PHP di tempat untuk mendapatkan perkara yang bekerja -ketika orang bergurau, pengekodan denim . Dengan ralat sintaks, laman web akan terhempas, dan mungkin juga halaman yang anda lihat.

Ia sangat menarik untuk menguasai WordPress tanpa DX yang sangat baik. Tanpa DX, tidak ada jamur. Ini sepenuhnya untuk pemaju. Untuk WordPress, kebanyakan laman web mungkin tidak mempunyai pemaju sama sekali . Ia dipasang (atau diaktifkan dalam kes WordPress.com) dan pemilik laman web bermula di sana. Pemilik laman web adalah seperti pemaju, mereka mempunyai banyak kuasa, tetapi tidak boleh menulis sebarang kod sama sekali.

Untuk melakukan ini, saya ingin mengatakan bahawa WordPress memberi tumpuan lebih kepada UX daripada DX, yang merupakan bahagian yang sangat penting dari itu ...

Cms dan end pengguna ux

WordPress adalah CMS yang sangat baik. Walaupun anda tidak menyukainya, terdapat banyak orang yang menyukainya, dan data bercakap untuk semuanya. Apabila anda membuat keputusan untuk membina laman web dengan WordPress, anda mendapat banyak keupayaan untuk membina hampir mana -mana jenis laman web yang anda mahukan. Ia tidak mungkin berlaku dengan WordPress , saya menolak diri saya untuk mati .

Ini adalah masalah besar. Jenn menegaskan ini, menunjukkan bahawa orang yang menggunakan WordPress lebih penting daripada keperluan pemaju.

WordPress boleh melakukan banyak perkara:

  • Blog (atau apa-apa jenis laman web gaya CMS yang berpusat di kandungan) ...
    • Dengan Pratonton Kandungan, ini mungkin tetapi rumit dalam Jamstack
  • Mengendalikan pengguna/kebenaran ...
    • Di peringkat pentadbir/cms, dan
    • Di peringkat berorientasikan pengguna (mis. Forum, langganan, sosial, dan lain-lain)
  • E-dagang
  • Borang pemprosesan
  • Mengendalikan plugin ke yang melampau

Jamstack pasti dapat melakukan semua perkara ini, tetapi sekarang ia adalah jamur di era Wild West. Apabila anda melihat tutorial tentang cara menyimpan data, mereka biasanya melibatkan menjelaskan cara menulis fungsi CRUD tunggal untuk pangkalan data awan. Ini adalah perkara yang mendasari, ia boleh menjadi sangat kuat, tetapi ia sangat berbeza daripada mengklik beberapa butang, dan itulah bagaimana WordPress terasa dalam banyak kali.

Saya yakin saya mungkin boleh menggunakan API Stripe untuk menyatukan persediaan e-dagang asas Jamstack, yang cukup sejuk. Tetapi apabila saya perlu mula berfikir tentang pengurusan inventori, kawasan perkapalan, varian produk, dan siapa yang tahu apa yang rumit ada di dunia e-dagang, saya berasa saraf, yang membuat saya berharap saya mempunyai sesuatu yang sangat kuat untuk membantu saya melakukan semua ini.

Kadang -kadang kita pemaju hanya membina laman web untuk diri mereka sendiri (saya banyak melakukan ini), tetapi saya fikir pemaju terutamanya membina laman web untuk orang lain. Jadi soalan yang paling penting ialah: Adakah perkara yang saya bina meningkatkan keupayaan orang yang saya bina?

Anda boleh mencapai pengalaman pengurusan laman web yang baik, tetapi WordPress sudah pasti membuktikan bahawa ia menawarkan perkhidmatan di lapangan tanpa perlu terlalu banyak usaha dalam pembangunan tersuai.

Walau bagaimanapun, Jamstack mempunyai beberapa petua yang saya harap dapat dilaksanakan di WordPress. Satu helah penting untuk saya ialah: Kandungan dan kemas kini yang dikemukakan pengguna. Saya sebenarnya mempunyai tiga tapak yang mendapat manfaat daripada ini sekarang. Sebuah laman web mengenai persidangan, laman web mengenai Serverless, dan laman web yang akan datang mengenai fon pengekodan. WordPress pasti dapat melakukan pekerjaan yang hebat di ketiga -tiga laman web ini. Tetapi apa yang saya mahukan adalah membolehkan orang mengemas kini dan melakukan kandungan dengan cara yang saya boleh katakan bahawa: ya, ia kelihatan baik, bergabung. Dengan mengamalkan pendekatan Jamstack, kandungannya terletak di repositori GitHub awam dan sesiapa sahaja boleh mengambil bahagian.

Saya fikir ini hebat. Ia tidak semestinya memerlukan seseorang di khalayak ramai untuk memahami atau memahami Git atau GitHub, kerana Netlify CMS mempunyai konsep penciptaan terbuka, yang menjadikan keseluruhan pengalaman sumbangan dalam penyemak imbas dan menyediakan UI untuk penyuntingan.

Gunakan kedua -duanya pada masa yang sama

Ini adalah soalan penting yang sering saya lihat. Malah Netlify sendiri mengatakan "tidak ada pembangkang".

Masalahnya ialah:

  • "A" dalam "Jam" bermaksud API. Gunakan API untuk membina laman web anda di masa membina atau pada pelanggan.
  • Laman web WordPress mempunyai API REST secara lalai (dan juga boleh mempunyai API GraphQL).
  • Jadi gunakan API ini untuk mendapatkan data CMS di laman web Jamstack anda.

Ya, betul -betul ok. Ini berfungsi, dan orang melakukannya. Saya rasa ini sejuk.

Tetapi ……

  • Menjalankan laman web WordPress di luar laman web Jamstack anda bermakna ... anda menjalankan laman web WordPress serta laman web Jamstack anda. Ini menanggung kos dan hutang teknikal.
  • Anda biasanya tidak mendapat semua nilai WordPress. Menggunakan API untuk mendapatkan data mungkin semua yang perlu anda lakukan, tetapi ini adalah cara yang sangat berbeza untuk membina tema WordPress. Anda tidak mendapat nilai lain dari WordPress. Apa yang saya fikirkan adalah situasi seperti ini: anda dapati plugin sejuk yang menambah blok Gutenberg mewah ke laman web anda. Ini "hanya berjalan" di laman WordPress, tetapi ia mungkin mempunyai beberapa tingkah laku depan khas yang tidak akan berfungsi jika anda hanya mengeluarkan HTML dari API. Ia mungkin mengandungi beberapa skrip tambahan dan gaya yang anda perlukan untuk memikirkan sendiri bagaimana untuk menggabungkan ke lokasi hosting front-end anda, serta mengekalkan kemas kini sendiri.

Berikut adalah semua peserta dengan pendekatan "menggunakan kedua" yang unik:

  • Frontity: Rangka Kerja React WordPress. Anda boleh menjalankannya di belakangnya dan menggunakan pelayan nod, serta laman web WordPress anda. Pelayan nod membuat bertindak balas terhadap HTML, jadi anda boleh melakukan penyerahan sisi pelayan untuk semua halaman, tetapi anda masih membina spa.
  • WP2Static: Plugin WordPress yang membina versi statik laman web dan secara automatik menyebarkannya apabila perubahan dibuat.
  • Strattic: Mereka menganjurkan laman web WordPress yang dinamik untuk anda (yang mereka panggil "pementasan") di mana anda boleh menggunakan WordPress secara normal. Anda kemudian boleh memilih untuk menggunakan dan mereka juga akan menjadi tuan rumah versi statik laman web anda untuk anda.
  • Shifter: Shifter menjadi tuan rumah laman web WordPress untuk anda. Anda mempunyai dua pilihan: 1) Jalankan tanpa kepala (jadi anda hanya mengakses API, REST, atau GRAPHQL demi mendapatkan data) atau 2) berjalan secara statik (jadi apabila anda mempunyai semua yang anda inginkan di WordPress, anda boleh menggunakannya, yang akan membuat versi statik laman web, mereka juga akan dihoskan, atau anda boleh menolaknya di tempat lain seperti Netlify).

Terdapat banyak cara lain untuk mengintegrasikan kedua -duanya. Berikut adalah Geoff dan Sarah kami bercakap tentang cara menggunakan WordPress dan Jamstack kedua -duanya dengan menggunakan VUE/NUXT dengan API REST dan hosting di Netlify.

Tidak ada yang digunakan

Sekiranya ini tidak jelas, terdapat banyak cara untuk membina laman web. Jika anda membina laman web Ruby di Rails, ia bukan Jamstack atau WordPress. Anda boleh memikirkannya sebagai lebih seperti laman web WordPress kerana ia memerlukan pelayan dan anda akan menggunakan pelayan itu untuk melakukan seberapa banyak yang anda boleh. Anda juga boleh berfikir ia lebih seperti Jamstack kerana ia menggalakkan API dan perkhidmatan kombinatorial walaupun ia tidak dihoskan secara statik.

Rangkaian ini besar, lelaki, ia bukan permainan sifar. Saya benar -benar mengharapkan WordPress untuk terus berkembang dan Jamstack terus berkembang kerana rangkaian itu sendiri berkembang . Walaupun kita hanya menganggap peratusan bahagian pasaran, saya masih fikir kedua -duanya akan berkembang, menolak apa -apa lagi ke segmen yang lebih kecil.

Pilih

Saya tidak akan membincangkannya di sini. Ia bukan kerana saya mengelakkan pilih kasih, tetapi kerana ia tidak perlu. Saya tidak melihat pemaju di sana menggigit kuku mereka yang cuba memutuskan sama ada menggunakan kaedah WordPress atau Jamstack untuk membina laman web. Kami telah mencapai titik di mana teknologi cukup difahami, dan prosesnya adalah seperti berikut:

  1. Pakai pakaian yang betul
  2. Menilai keperluan dan hasil
  3. Pilih Teknologi

Atas ialah kandungan terperinci WordPress dan Jamstack. 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
Pembaca Skrin Demystifying: Borang & Amalan Terbaik DiaksesPembaca Skrin Demystifying: Borang & Amalan Terbaik DiaksesMar 08, 2025 am 09:45 AM

Ini adalah jawatan ke -3 dalam siri kecil yang kami lakukan dalam kebolehcapaian bentuk. Jika anda terlepas jawatan kedua, lihat "Menguruskan Fokus Pengguna dengan: Fokus-Visible". Dalam

Menambah bayang -bayang kotak ke blok dan elemen WordPressMenambah bayang -bayang kotak ke blok dan elemen WordPressMar 09, 2025 pm 12:53 PM

CSS box-shadow dan garis besar sifat mendapat tema.json Sokongan dalam WordPress 6.1. Let ' s melihat beberapa contoh bagaimana ia berfungsi dalam tema sebenar, dan pilihan apa yang kita perlu gunakan gaya ini ke blok dan elemen WordPress.

Bekerja dengan Caching GraphqlBekerja dengan Caching GraphqlMar 19, 2025 am 09:36 AM

Sekiranya anda baru -baru ini mula bekerja dengan GraphQL, atau mengkaji semula kebaikan dan keburukannya, anda tidak akan ragu -ragu mendengar perkara seperti "Graphql tidak menyokong caching" atau

Menjadikan Peralihan Svelte Khas pertama andaMenjadikan Peralihan Svelte Khas pertama andaMar 15, 2025 am 11:08 AM

API Peralihan Svelte menyediakan cara untuk menghidupkan komponen apabila mereka memasuki atau meninggalkan dokumen, termasuk peralihan svelte adat.

CSS Scrollbars Custom Custom: PameranCSS Scrollbars Custom Custom: PameranMar 10, 2025 am 11:37 AM

Dalam artikel ini kita akan menyelam ke dunia scrollbars. Saya tahu, ia tidak terdengar terlalu glamor, tetapi percayalah, halaman yang direka dengan baik

Tunjukkan, jangan beritahuTunjukkan, jangan beritahuMar 16, 2025 am 11:49 AM

Berapa banyak masa yang anda habiskan untuk merancang persembahan kandungan untuk laman web anda? Semasa anda menulis catatan blog baru atau membuat halaman baru, adakah anda memikirkan

Membina aplikasi Ethereum menggunakan redwood.js dan faunaMembina aplikasi Ethereum menggunakan redwood.js dan faunaMar 28, 2025 am 09:18 AM

Dengan pendakian harga bitcoin baru -baru ini lebih dari 20k $ USD, dan baru -baru ini melanggar 30k, saya fikir ia patut mengambil menyelam yang mendalam kembali ke dalam mewujudkan Ethereum

Apa yang ada perintah npm?Apa yang ada perintah npm?Mar 15, 2025 am 11:36 AM

Perintah NPM menjalankan pelbagai tugas untuk anda, sama ada sebagai satu-satunya atau proses berjalan terus untuk perkara seperti memulakan pelayan atau menyusun kod.

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

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.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa