Tentunya sudah banyak yang mendengar konsep MVP (
Wiki Minimum Viable Product). Ada banyak artikel tentang MVP di MVP, tetapi pada dasarnya itu hanya deskripsi tentang apa itu MVP dan untuk apa MVP, atau berbagai kesuksesan dan bukan cerita. Tetapi saya tidak menemukan satu artikel pun yang menggambarkan apa yang dilakukan MVP. Tetapi diyakini bahwa blog pribadi lebih mudah dilakukan di satu mesin, toko online di mesin lain, dll. (masing-masing akan mengganti namanya dengan mesin favorit untuk keperluan ini). Tetapi mengapa mesin yang lebih nyaman untuk MVP tidak didefinisikan? Saya tidak akan memberikan jawaban yang jelas untuk pertanyaan ini, tetapi saya akan membagikan pemikiran saya tentang apa sebenarnya untuk membuat MVP Prisma CMS saya baik, tentang yang saya
tulis di sini beberapa bulan yang lalu. Siapa yang peduli, tolong, di bawah kucing.
Menariknya, pada umumnya, MVP dapat dibandingkan dengan
wiki prototyping yang lebih canggih. Pada saat yang sama, ada perangkat lunak khusus untuk pembuatan prototipe, dan pada suatu waktu saya bahkan menggunakan Axure yang sama. Tetapi apa yang hilang dari Axure dan mengapa saya segera meninggalkannya? (Saya tidak tahu, mungkin sekarang ia telah menjadi lebih maju dan masalah-masalah ini telah diselesaikan, tetapi pada saat itu tidak ada).
- Tidak ada pekerjaan dengan data nyata. Yaitu, saya memiliki bagian Pengguna dalam prototipe, tetapi saya tidak bisa mendapatkan data pengguna melalui API dan menampilkannya dalam satu lingkaran dalam template saya. Dan memang, pada prinsipnya, tidak ada cara untuk bekerja dengan data nyata (membuat catatan, membacanya).
- Melewati tahap pembuatan prototipe dan pindah langsung ke pengembangan, Anda tidak bisa menggunakan templat yang dibuat dalam prototipe. Yaitu, setelah prototipe dibuat dan disepakati dengan pelanggan dan ketika kami beralih ke pemrograman, kami hanya bisa melihat prototipe dengan mata kami, tidak ada yang bisa dilakukan dengannya. Jadi saya ingin melempar prototipe dan menggunakannya dalam pengembangan.
Masih ada saat-saat, tetapi keduanya adalah yang paling penting. Ternyata tahap-tahap pembuatan prototipe dan pemrograman menjalani kehidupan mandiri mereka sendiri dan tidak saling memengaruhi. Tapi saya ingin tahap prototyping berjalan lancar ke pemrograman. Dan dalam kerangka artikel saat ini, orang bahkan dapat menyarankan bahwa prototyping mengalir ke dalam penciptaan MVP, dan kemudian, jika berhasil, MVP dapat dikembangkan ke produk akhir penuh. Memang, jika Anda berpikir begitu, pembuatan MVP tidak selalu menjamin bahwa di masa depan akan ada produk yang lebih lengkap. Lagi pula, apa gunanya membuat MVP? Pertama, untuk mengimplementasikan ide dengan biaya minimal, sehingga Anda dapat mencobanya di tempat kerja, dan kedua, untuk mempelajari permintaan dan memutuskan sendiri apakah layak berinvestasi dan mengembangkannya ke produk yang lengkap. Dan ternyata kami membutuhkan alat yang memungkinkan kami membuat prototipe / MVP dengan cepat, dan di sisi lain, jika MVP berhasil, kami dapat mengembangkan proyek lebih lanjut tanpa batasan khusus.
Faktanya, melihat Prisma CMS, saya hanya melihat mesin seperti itu. Ada banyak untuk dengan cepat membuang draf proyek:
- Hampir semua pekerjaan dilakukan di depan melalui editor front-end WYSIWYG kita sendiri.
- URL diimplementasikan pada react-router, yang memungkinkan pengalamatan juga ditulis langsung di depan dalam editor, dan bukan pada server.
- API diimplementasikan dalam GraphQL, yang memungkinkan Anda untuk menulis kueri di depan, dan bukan di server. Pada saat yang sama, Grafik i QL terintegrasi, yang menyederhanakan proses penulisan kueri.
- Plus, ada filter yang dihasilkan, halaman demi halaman dan roti berguna lainnya.
Dan semua ini openSource, artinya, ini bukan SaaS, yang harus Anda bayar terus (tanpa memiliki semua yang Anda inginkan). Ini dapat digunakan di server Anda dan menyesuaikan sendiri.
Sebelum saya menjelaskan proses menginstalnya di server saya dan proses penyesuaian, saya sarankan Anda melihat rekaman proses pembuatan bagian terpisah di situs. Sudah hampir 15 menit, tetapi lihat saja pada 4 menit pertama, ini sudah lebih dari cukup untuk mendapatkan gambaran tentang Prisma CMS, dan jika ada minat, lanjutkan membaca topik, atau mungkin mencoba menggunakan mesin di rumah.
Jadi, menginstal Prisma CMS di server (saya menggunakan ubuntu, lebih disukai setidaknya 4Gb RAM dan SSD).
Diasumsikan bahwa Anda sudah terbiasa dengan node-js, npm / yarn, react, dan graphql.1. Instal perangkat lunak yang diperlukan
Jika semuanya dimasukkan sekaligus di terminal, eksekusi mungkin rusak, jadi lebih baik untuk mengeksekusi baris demi baris.Ini adalah instalasi minimal tanpa pengaturan tingkat akses, dll., Hanya untuk tujuan informasi, yaitu, jika Anda mencoba server bersih baru, maka semuanya akan dilakukan dari root (termasuk meluncurkan situs). Untuk percobaan kami, ini sama sekali tidak penting.
sudo apt update sudo apt install mc sudo apt install git curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs sudo npm i -g yarn sudo apt-get install software-properties-common python-software-properties sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' sudo apt-get update sudo apt-get install -y docker-engine sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
2. Kloning repositori
mkdir /var/www cd /var/www git clone https://github.com/prisma-cms/boilerplate cd boilerplate yarn --ignore-engines
3. Luncurkan kontainer buruh pelabuhan dengan MySQL dan prisma (prisma adalah produk terpisah, bukan milik saya, tetapi yang terhubung dengan sisi server, lihat
github.com/prisma/prisma ).
sudo docker-compose -f src/server/scripts/docker/prisma/docker-compose.yml up -d
Jika Anda ingin melihat ke dalam database melalui phpMyAdmin, instal juga.
sudo docker run -d --link prisma_mysql_1:db --network prisma_default -p 8090:80 phpmyadmin/phpmyadmin
Akan bertahan di port 8090. Secara default, nama pengguna / kata sandi adalah root / prisma
4. Menyebarkan skema
endpoint=http://localhost:4466/my-project/dev yarn deploy
my-project / dev, masing-masing, Anda dapat menulis sendiri dan membuat banyak proyek di server yang sama.
Penting! Pada produksi, port 4466 harus ditutup oleh firewall, tidak boleh langsung diakses dari luar.5. Luncurkan server API
APP_SECRET=MyStrongSecret endpoint=http://localhost:4466/my-project/dev yarn start-server
Setelah memulai, Anda dapat membuka
server-ip : 4000 API.
Seperti yang saya tulis di artikel sebelumnya, ini adalah server perantara yang mengimplementasikan logika Anda sendiri di atas yang dihasilkan (yang berjalan pada port 4466).
6. Luncurkan bagian depan
Kami membuka satu terminal lagi dan di folder yang sama kami jalankan
yarn start
Bagian depan akan dimulai pada port 3000. Sekarang Anda bisa langsung ke "pemrograman" bagian depan. Buka
server-ip : 3000. Saat memasukkan, sementara tidak ada satu templat tersimpan untuk bagian depan, tombol otorisasi akan ditampilkan untuk Anda. Logikanya adalah mendaftar dan mulai mendesain situs. Siapa yang pertama - itu dan situs
sneaker . Seperti inilah tampilannya:
7. Buat skrip dan jalankan SSR (Servcer-Side Rendering)
Memulai melalui awal benang adalah mode-dev, cocok untuk awal pertama (memeriksa apakah semuanya berfungsi) dan untuk memprogram bagian JS secara langsung. Dan untuk pertempuran, tentu saja, sebuah front yang dikumpulkan diperlukan. Interrupt running yarn mulai melalui Ctrl + C dan buat skrip.
yarn build
Anda bisa merokok dan menuangkan kopi, proses ini tidak cepat. Dalam kasus yang jarang terjadi, bangunan berantakan pertama kali, jalankan lagi, dalam hal ini, biasanya, selesai dengan sukses dan jauh lebih cepat.
Saat bangunan selesai, jalankan bagian depan yang telah dirakit.
yarn start-ssr
Sekarang peluncurannya jauh lebih cepat, dan skripnya lebih kecil.
Kesimpulan
Video menunjukkan bahwa di tempat-tempat ada masalah yang sangat besar dengan kegunaan, tetapi proyek ini masih berkembang, secara bertahap masalah ini dihilangkan. Tetapi banyak yang bisa dilakukan tepat di depan. Pembersihan serius kode sumber masih harus dilakukan, karena ada banyak hal yang telah terakumulasi, tetapi hanya membentang sebagai warisan. Alhasil, bagian depan harus lebih mudah. Dan itu akan dirakit lebih cepat, dan memuat halaman lebih cepat.
Dalam kasus apa pun, saya ulangi, menurut pendapat saya, bagaimana mesin untuk MVP sangat cocok - dengan cepat melemparkan sesuatu dan menunjukkan kepada klien. Selain itu, jika kita melanjutkan pengembangan produk akhir, bahkan jika bagian depan tidak puas, kita dapat sepenuhnya membuangnya dan menulis ulang dengan cara kita sendiri, sementara database dan logika server tidak akan pergi ke mana pun. Bagaimanapun, ini tanpa kepala-cm. Tetapi saya berharap bahwa lama-kelamaan front akan dibawa ke level yang sepenuhnya dapat diterima.
Jika komunitas memiliki minat, maka saya akan menulis topik secara terpisah tentang cara mengkustomisasi bagian depan (tambahkan blok Anda sendiri untuk editor depan) dan cara menyesuaikan server (perluas skema, tambahkan entitas Anda sendiri, tambahkan resolver, dll.). Cukup banyak alat yang telah dikerjakan untuk menyelesaikan tugas-tugas tersebut dengan cepat.
Sumber ProyekTerima kasih atas perhatian Anda!