ສາລະບານ[ເຊື່ອງ][ສະແດງ]
ແນວຄວາມຄິດຂອງການບໍລິການຈຸນລະພາກໄດ້ຮັບຄວາມສົນໃຈຫຼາຍເມື່ອບໍ່ດົນມານີ້, ແລະບໍລິສັດຈໍານວນຫຼາຍກໍາລັງໃຊ້ມັນເພື່ອທໍາລາຍ backends ຂະຫນາດໃຫຍ່, monolithic.
ໄປຕາມເສັ້ນທາງດຽວກັນກັບ frontend ຍັງຄົງເປັນສິ່ງທ້າທາຍສໍາລັບທຸລະກິດຈໍານວນຫຼາຍ, ເຖິງແມ່ນວ່າວິທີການທີ່ແຈກຢາຍຂອງການສ້າງເຊີຟເວີຂອງແອັບຯເວັບແມ່ນມີຄວາມຫນ້າເຊື່ອຖືຫຼາຍຫຼືຫນ້ອຍໃນການຄົ້ນຄວ້າແລະການປະຕິບັດ.
ເນື່ອງຈາກການເພິ່ງພາອາໄສຢ່າງໃກ້ຊິດຂອງມັນ, ໂດຍທົ່ວໄປແລ້ວ monolith ຂ້າງລູກຄ້າເຮັດໃຫ້ມັນຍາກທີ່ຈະປະສົມປະສານລັກສະນະໃຫມ່, ນໍາໃຊ້ເຕັກໂນໂລຢີໃຫມ່, ແລະຂະຫນາດອົງປະກອບສ່ວນບຸກຄົນ.
ສິ່ງທ້າທາຍເຫຼົ່ານີ້ ແລະ ສິ່ງທ້າທາຍອື່ນໆໄດ້ກະຕຸ້ນໃຫ້ນັກພັດທະນາດ້ານໜ້າຕ້ອງສືບສວນກ່ຽວກັບການບໍລິການຈຸນລະພາກ.
ດັ່ງນັ້ນ, ຍຸດທະສາດສະຖາປັດຕະຍະກໍາຍີ່ຫໍ້ໃຫມ່ທີ່ເອີ້ນວ່າ micro frontend ໄດ້ຖືກພັດທະນາສໍາລັບການສ້າງຊັ້ນຫນ້າຂອງເວັບໄຊທ໌ແລະຄໍາຮ້ອງສະຫມັກໃນເວັບ.
ຄຳ ສັບນີ້ຖືກ ນຳ ໃຊ້ເປັນຄັ້ງ ທຳ ອິດໃນປີ 2016, ແລະຕັ້ງແຕ່ນັ້ນມາ, ມັນໄດ້ຮັບຄວາມສົນໃຈຫຼາຍ ສຳ ລັບສາເຫດທີ່ດີ.
ບົດຄວາມນີ້ຈະໃຫ້ຄວາມເຂົ້າໃຈທົ່ວໄປກ່ຽວກັບ micro frontends ແມ່ນຫຍັງແລະບັນຫາທີ່ເຂົາເຈົ້າແກ້ໄຂ. ມັນເຮັດວຽກ, ເຊັ່ນດຽວກັນກັບຂໍ້ດີແລະຂໍ້ເສຍ.
ແນະນຳກ່ຽວກັບສະຖາປັດຕະຍະກຳທາງໜ້າຈຸນລະພາກ
ວິທີການປະຈຸບັນຂອງການພັດທະນາດ້ານຫນ້າທີ່ເອີ້ນວ່າສະຖາປັດຕະຍະກໍາ micro-frontend ແບ່ງ a web application ເຂົ້າໄປໃນຂະຫນາດນ້ອຍ, ພາກສ່ວນເອກະລາດ.
ສໍາລັບຜູ້ໃຊ້ສຸດທ້າຍ, ຊິ້ນສ່ວນເຫຼົ່ານີ້ເບິ່ງຄືວ່າເປັນຫນ່ວຍດຽວເຖິງແມ່ນວ່າພວກເຂົາກໍ່ສ້າງເປັນເອກະລາດແລະຫຼັງຈາກນັ້ນນໍາມາຮ່ວມກັນ.
ດ້ວຍຄວາມແຕກຕ່າງທີ່ micro frontends ກ່ຽວຂ້ອງກັບຝ່າຍລູກຄ້າ, ບໍ່ແມ່ນຝ່າຍເຊີຟເວີ, ການແກ້ໄຂອອນໄລນ໌, ເຫດຜົນພື້ນຖານແມ່ນຄ້າຍຄືກັນກັບບໍລິການຈຸລະພາກ.
ການສ້າງຜະລິດຕະພັນໃນເວັບໄຊຕ໌ທີ່ຊັບຊ້ອນເຮັດໃຫ້ຄວາມຮູ້ສຶກທີ່ສຸດໃນເວລາທີ່ນໍາໃຊ້ວິທີການ micro frontend.
Micro frontends, ກົງກັນຂ້າມກັບ monolith front-end ທໍາມະດາຫຼາຍ, ເຮັດໃຫ້ທີມງານຈໍານວນຫຼາຍສາມາດຮ່ວມມືແຍກຕ່າງຫາກໃນໂຄງການຊອບແວຕ່າງໆ.
ຜູ້ຂຽນໂປລແກລມສາມາດສ້າງແອັບຯເວັບໄດ້ໄວຂຶ້ນ ແລະມີຄວາມສາມາດໃນການຂະຫຍາຍ ແລະການຮັກສາໄວ້ໄດ້ຫຼາຍຂຶ້ນໂດຍໃຊ້ການອອກແບບສະຖາປັດຕະຍະກຳນີ້.
ເວົ້າງ່າຍໆ, ແຕ່ລະ micro frontend ແມ່ນພຽງແຕ່ຊິ້ນສ່ວນຂອງລະຫັດສໍາລັບອົງປະກອບທີ່ແຕກຕ່າງກັນຂອງຫນ້າເວັບ.
ລັກສະນະເຫຼົ່ານີ້ຖືກຄວບຄຸມໂດຍທີມງານແຍກຕ່າງຫາກ, ແຕ່ລະຄົນມີຄວາມຊ່ຽວຊານໃນອຸດສາຫະກໍາຫຼືຈຸດປະສົງທີ່ແນ່ນອນ.
Monolithic vs Microservices vs Micro frontend ສະຖາປັດຕະຍະກໍາ
ຄິດວ່າຈະຍ້າຍຖິ່ນຖານ. ມັນຈະງ່າຍກວ່າສໍາລັບທ່ານທີ່ຈະຈັດວາງທຸກສິ່ງທຸກຢ່າງເຂົ້າໄປໃນກ່ອງນ້ອຍໆທີ່ມີສະຫຼາກທີ່ມີຄວາມຊໍານານແລະຍົກຍ້າຍແຕ່ລະຄົນເປັນສ່ວນບຸກຄົນຫຼືບັນຈຸພະນັກງານທັງຫມົດເຂົ້າໄປໃນກ່ອງຂະຫນາດໃຫຍ່ຫນຶ່ງແລະຂົນສົ່ງມັນໄປບ່ອນໃຫມ່ບໍ?
ການແກ້ໄຂທີ່ຊັດເຈນແມ່ນຢູ່ທີ່ນັ້ນ.
ການປຽບທຽບນີ້ປຽບທຽບສອງສະຖາປັດຕະຍະກໍາເວັບ app ທີ່ແຕກຕ່າງກັນ, monoliths ແລະ microservices (ຍັງເອີ້ນວ່າ micro frontends).
ສະຖາປັດຕະຍະກໍາ Monolithic
ທ່ານອາດຈະສາມາດຈື່ຈໍາ "ວັນເກົ່າທີ່ດີ" ເມື່ອຄໍາຮ້ອງສະຫມັກທີ່ສົມບູນໄດ້ຖືກສ້າງຂື້ນເປັນຫນ່ວຍງານດຽວ, ແຫນ້ນຫນາ. ວິທີການດັ່ງກ່າວເອີ້ນວ່າ monolith, ເຊິ່ງເປັນຄໍາເກົ່າແກ່ສໍາລັບກ້ອນຫີນຂະຫນາດໃຫຍ່.
ນີ້ເຮັດໃຫ້ຄວາມຮູ້ສຶກ.
ລະບົບ Monolithic ມີອົງປະກອບທີ່ຂຶ້ນກັບກັນ. ດັ່ງນັ້ນ, ຖ້າທ່ານຕ້ອງການແກ້ໄຂບາງສິ່ງບາງຢ່າງຫຼືເພີ່ມຄຸນສົມບັດໃຫມ່, ມັນເປັນໄປໄດ້ວ່າລະບົບທັງຫມົດອາດຈະແຕກ.
ເຖິງແມ່ນວ່າມັນລ້າສະໄຫມ, ບາງຄັ້ງມັນກໍ່ຍັງມີຢູ່. ແມ່ນແລ້ວ, ພວກເຮົາຮູ້ເຖິງການສະແດງອອກໃນປະຈຸບັນຂອງເຈົ້າ.
ການແບ່ງແນວຄວາມຄິດຂອງ codebase ເປັນສອງອົງປະກອບທີ່ແຕກຕ່າງກັນ - frontend (ດ້ານລູກຄ້າ) ແລະ backend (server-side) - ກາຍເປັນສິ່ງທີ່ຫຼີກລ່ຽງບໍ່ໄດ້ຍ້ອນວ່າເຕັກໂນໂລຢີໃຫມ່ທີ່ພັດທະນາແລະຜະລິດຕະພັນຊອບແວໄດ້ສັບສົນຫຼາຍ.
ວິທີການປະຕິບັດງານທີ່ນິຍົມຫຼາຍທີ່ສຸດໃນປັດຈຸບັນແມ່ນການແຍກຄວາມກັງວົນລະຫວ່າງຊັ້ນນໍາສະເຫນີທີ່ຜູ້ໃຊ້ສຸດທ້າຍພົວພັນກັບແລະທຸກສິ່ງທຸກຢ່າງທີ່ເກີດຂື້ນໃນພື້ນຫລັງ.
ມັນຕ້ອງການສອງທີມວິສະວະກໍາຊອບແວ, ໂດຍທີມງານດ້ານຫນ້າກໍ່ສ້າງອົງປະກອບທາງສາຍຕາແລະທີມງານ back-end ກໍ່ສ້າງການບໍລິການເວັບ, ເຫດຜົນທາງທຸລະກິດ, ການເຂົ້າເຖິງຂໍ້ມູນ, ການເຊື່ອມໂຍງ, ແລະອື່ນໆ.
ຢ່າງໃດກໍຕາມ, ເຖິງວ່າຈະມີການແຍກນີ້, ຍຸດທະສາດນີ້ຍັງຄົງເປັນ monolithic ໂດຍທໍາມະຊາດ.
ການປ່ຽນແປງຕົ້ນຕໍແມ່ນວ່າພວກເຮົາມີສອງບລັອກຂະຫນາດໃຫຍ່ຂອງລະຫັດ - frontend ແລະ backend - ແທນທີ່ຈະເປັນຄໍາຮ້ອງສະຫມັກອັນໃຫຍ່ຫຼວງ. ສະຖາປັດຕະຍະກໍາ Monolithic ບໍ່ຈໍາເປັນຕ້ອງຂີ້ຮ້າຍ; ພວກເຂົາເຈົ້າມີຜົນປະໂຫຍດຈໍານວນຫນ້ອຍ, ລວມທັງ
- ການພັດທະນາງ່າຍດາຍແລະໄວສໍາລັບຄໍາຮ້ອງສະຫມັກຂະຫນາດນ້ອຍທີ່ມີ codebase ແຫຼ່ງດຽວແລະການອອກແບບງ່າຍດາຍຫຼາຍ;
- ການທົດສອບແລະການດີບັກແມ່ນກົງໄປກົງມາຫຼາຍເພາະວ່າລະຫັດທັງຫມົດຢູ່ໃນສະຖານທີ່ດຽວ, ເຮັດໃຫ້ມັນງ່າຍຂຶ້ນສໍາລັບທີມງານທີ່ຈະຕິດຕາມການໄຫຼເຂົ້າຂອງຄໍາຮ້ອງຂໍແລະກໍານົດຂໍ້ບົກພ່ອງ;
- ໃນຕົ້ນໆຂອງການພັດທະນາແອັບພລິເຄຊັນ, ຄ່າໃຊ້ຈ່າຍແມ່ນລາຄາຖືກກວ່ານັບຕັ້ງແຕ່ຄ່າໃຊ້ຈ່າຍໃນພື້ນຖານໂຄງລ່າງຫຼືຄ່າໃຊ້ຈ່າຍໃນການພັດທະນາບໍ່ໄດ້ເກີດຂຶ້ນຈົນກ່ວາຄຸນສົມບັດໃຫມ່ຈະຖືກເພີ່ມ.
ຂໍ້ບົກຜ່ອງຂອງຍຸດທະສາດນີ້ແມ່ນສະທ້ອນໃຫ້ເຫັນໃນ
- ຄວາມຢືດຢຸ່ນຂອງການປະຕິບັດທີ່ຖືກຈໍາກັດ - ທີມງານຕ້ອງລໍຖ້າຖ້າມີພຽງແຕ່ຈໍານວນຫນ້ອຍຫນຶ່ງຂອງພວກເຂົາເຮັດວຽກຢູ່ໃນໂຄງການແລະການຕິດຕັ້ງໃຫມ່ແມ່ນຕ້ອງການທຸກໆຄັ້ງທີ່ທ່ານປັບປຸງລະຫັດ;
- ການຮັບຮອງເອົາເຕັກໂນໂລຢີໃຫມ່ແມ່ນມີຄວາມທ້າທາຍນັບຕັ້ງແຕ່ການເຮັດດັ່ງນັ້ນຈໍາເປັນຕ້ອງຂຽນຄືນໃຫມ່ສ່ວນທີ່ສໍາຄັນ, ຖ້າບໍ່ແມ່ນໂຄງການທັງຫມົດ.
- ເມື່ອຈໍານວນຜູ້ພັດທະນາເພີ່ມຂຶ້ນ, ລະບົບລະຫັດຈະເຊື່ອມຕໍ່ຢ່າງໃກ້ຊິດ, ສັບສົນ, ແລະຍາກທີ່ຈະຈັດການແລະເຂົ້າໃຈ.
- ບັນຫາການຈັດຕັ້ງ - ສະມາຊິກແຕ່ລະທີມຕ້ອງໃຊ້ຫ້ອງສະໝຸດສະບັບດຽວກັນ ແລະລາຍງານການປ່ຽນແປງໃດໆ ຖ້າທີມງານຫຼາຍຄົນເຮັດວຽກຢູ່ໃນໂຄງການ monolithic.
- ຄວາມກັງວົນກ່ຽວກັບການຂະຫຍາຍ - ເນື່ອງຈາກວ່າອົງປະກອບຂອງໂຄງການແມ່ນເຊື່ອມຕໍ່ກັນ, ການຂະຫຍາຍພວກມັນແຍກກັນເຮັດໃຫ້ເກີດຄວາມຫຍຸ້ງຍາກທີ່ເຮັດໃຫ້ເກີດການຢຸດຕິເວລາທີ່ສໍາຄັນແລະຄ່າໃຊ້ຈ່າຍທີ່ສູງຂຶ້ນ.
- ເຫດຜົນທີ່ຊັບຊ້ອນຂອງໂຄງການອາດເປັນເລື່ອງຍາກສໍາລັບສະມາຊິກທີມໃຫມ່ທີ່ຈະເຂົ້າໃຈ, ໂດຍສະເພາະຖ້າວິສະວະກອນທີ່ເຮັດວຽກໃນເບື້ອງຕົ້ນແມ່ນບໍ່ຖືກຈ້າງງານ.
ການພັດທະນາຂອງ microservices ແລະພີ່ນ້ອງໃກ້ຊິດຂອງເຂົາເຈົ້າ, ແລະ micro frontends, ແກ້ໄຂບັນຫາຕົ້ນຕໍກັບລະບົບ monolithic.
ສະຖາປັດຕະຍະກໍາ Microservices
ວິທີການສະຖາປັດຕະຍະກໍາທີ່ເອີ້ນວ່າ microservices ອະນຸຍາດໃຫ້ສ້າງອົງປະກອບຫຼືບໍລິການຂະຫນາດນ້ອຍທີ່ມີການເຊື່ອມໂຍງແບບວ່າງໆແລະສາມາດປະຕິບັດໄດ້ຢ່າງເປັນເອກະລາດເຊິ່ງປະກອບເປັນ backend ແອັບພລິເຄຊັນ.
ທຸກໆບໍລິການມີຖານລະຫັດຂອງຕົນເອງ, ທໍ່ CI/CD, ຂັ້ນຕອນ DevOps, ແລະຂະບວນການແລ່ນພວກມັນ.
ທ່ານສາມາດເຫັນໄດ້ວ່າທີມງານ backend monolithic ຖືກແບ່ງອອກເປັນທີມແຍກຕ່າງຫາກໂດຍເບິ່ງຮູບພາບຂ້າງເທິງ.
ແຕ່ລະຄົນສຸມໃສ່ສ່ວນບຸກຄົນກ່ຽວກັບລັກສະນະທີ່ແຕກຕ່າງກັນຂອງຄໍາຮ້ອງສະຫມັກ (ເຊັ່ນ: ການບໍລິການຜະລິດຕະພັນ, ການບໍລິການຄົ້ນຫາແລະການບໍລິການການຈ່າຍເງິນ).
ການສື່ສານລະຫວ່າງການບໍລິການເກີດຂຶ້ນຜ່ານໂປຣໂຕຄອນທີ່ຮູ້ຈັກໃນນາມ APIs ເຊັ່ນ: ໂປຣໂຕຄໍ REST API ທີ່ມີນ້ຳໜັກເບົາທີ່ໃຊ້ຮູບແບບການຕອບຄຳຂໍແບບ synchronous.
ທາງເລືອກອື່ນແມ່ນການນໍາໃຊ້ການສື່ສານ asynchronous ການນໍາໃຊ້ຊອບແວເຊັ່ນ Kafka, ທີ່ສະຫນອງການເຜີຍແຜ່ / ສະຫມັກໂຄງສ້າງການສື່ສານແລະກິດຈະກໍາ.
Microservices ປະສົມປະສານກັບ frontend ຜ່ານ backend ສໍາລັບການບໍລິການ frontend (BFF) ຫຼື API Gateway ຜ່ານເຄືອຂ່າຍ. BFF ສະເຫນີ API ທີ່ກໍາຫນົດເອງສໍາລັບລູກຄ້າແຕ່ລະຄົນ, ໃນຂະນະທີ່ API Gateways ໃຫ້ຈຸດດຽວຂອງການເຂົ້າເຖິງສໍາລັບການເກັບກໍາ microservices.
ແຕ່ເຖິງແມ່ນວ່າມີອົງປະກອບ backend ອັດຕະໂນມັດແລະຄວາມໄດ້ປຽບທັງຫມົດທີ່ພວກເຂົາໃຫ້, frontend ຍັງເປັນ monolith.
ດັ່ງນັ້ນ, ນີ້ແມ່ນບ່ອນທີ່ micro frontends ມີປະໂຫຍດ.
ສະຖາປັດຕະຍະກໍາ Micro frontends
ຄ້າຍຄືກັນກັບການບໍລິການຈຸນລະພາກ, ບ່ອນທີ່ອົງປະກອບເຊື່ອມຕໍ່ວ່າງຖືກຈັດການໂດຍຫຼາຍໆທີມ, ສະຖາປັດຕະຍະກໍາ micro frontend ໃຊ້ແນວຄວາມຄິດກັບຕົວທ່ອງເວັບ.
ການໂຕ້ຕອບຜູ້ໃຊ້ຂອງແອັບພລິເຄຊັນເວັບເຫຼົ່ານີ້ປະຕິບັດຕາມໂຄງສ້າງນີ້, ເຊິ່ງປະກອບດ້ວຍອົງປະກອບທີ່ເປັນເອກະລາດບາງຢ່າງ.
ທີມງານຍັງຖືກສ້າງຂື້ນຕາມຄວາມຕ້ອງການຂອງລູກຄ້າຫຼືກໍລະນີການນໍາໃຊ້ແທນທີ່ຈະເປັນຄວາມຊ່ຽວຊານຫຼືເຕັກໂນໂລຢີໂດຍສະເພາະ.
ດັ່ງນັ້ນ, ທີມງານມີສ່ວນຮ່ວມໃນການບໍລິການ microservice ແລະໂຄງການ micro frontend.
- ຕັດຕາມແນວຕັ້ງ - ຍ້ອນວ່າມີນັກພັດທະນາດ້ານຫນ້າ, ຜູ້ຊ່ຽວຊານດ້ານຂໍ້ມູນ, ວິສະວະກອນ backend, ວິສະວະກອນ QA, ແລະອື່ນໆທີ່ເຮັດວຽກຢູ່ໃນໂຄງການດຽວກັນ, ພວກເຂົາສ້າງຄຸນສົມບັດຂອງພວກເຂົາຈາກ user interface ກັບຖານຂໍ້ມູນ; ແລະ
- ເຮັດວຽກຂ້າມ – ສະມາຊິກແຕ່ລະຄົນປະກອບສ່ວນຄວາມຊໍານານຂອງເຂົາເຈົ້າໃຫ້ກັບກຸ່ມ.
ທີມງານຍັງສາມາດເລືອກ stack ເຕັກໂນໂລຢີທີ່ເຫມາະສົມທີ່ສຸດກັບສາຍທຸລະກິດສະເພາະຂອງເຂົາເຈົ້າ.
ທີມງານຫນຶ່ງສາມາດນໍາໃຊ້ React ເພື່ອຂຽນໂປລແກລມຊິ້ນສ່ວນຂອງມັນ. ທີມງານອື່ນສ້າງ Angular ຮຸ່ນໃຫມ່. Vue.js ແມ່ນຫນຶ່ງໃນຕົວຢ່າງດັ່ງກ່າວ.
Micro frontends ຖືກໃຊ້ຮ່ວມກັບ microservices ທີ່ກ່ຽວຂ້ອງເພື່ອແກ້ໄຂບັນຫາທີ່ທີມງານພັດທະນາປົກກະຕິແລ້ວມີກັບ monoliths. ຍຸດທະສາດສະຫນອງຂໍ້ໄດ້ປຽບດັ່ງຕໍ່ໄປນີ້.
- ສິດເສລີພາບດ້ານເຕັກໂນໂລຢີ: ວິສະວະກອນ Frontend ສາມາດເລືອກກອບ JavaScript ທາງເລືອກ, ສະພາບແວດລ້ອມເວລາແລ່ນ, ແລະຊຸດເຕັກໂນໂລຢີທັງຫມົດໂດຍອີງຕາມຄວາມຕ້ອງການຂອງບໍລິສັດ. ຢູ່ເທິງສຸດຂອງສະຖາປັດຕະຍະກໍາທີ່ລ້າສະໄຫມ, ກອບໃຫມ່ອາດຈະຖືກນໍາໃຊ້.
- ລະດັບຄວາມຍືດຫຍຸ່ນຫຼາຍກວ່າເກົ່າແມ່ນເປັນໄປໄດ້ນັບຕັ້ງແຕ່ແຕ່ລະ micro frontend ແມ່ນຕົວຂອງມັນເອງແລະສາມາດພັດທະນາ, ທົດສອບ, ນໍາໃຊ້, ແລະຍົກລະດັບແຍກຕ່າງຫາກ. ດັ່ງນັ້ນ, ຖ້າຫາກວ່າທີມງານຫນຶ່ງກໍາລັງເຮັດວຽກກ່ຽວກັບຄຸນນະສົມບັດແລະໄດ້ pushed ແກ້ໄຂ bug, ແລະທີມງານອື່ນຕ້ອງເພີ່ມຄຸນສົມບັດຂອງຕົນເອງ, ພວກເຂົາເຈົ້າບໍ່ຈໍາເປັນຕ້ອງລໍຖ້າສໍາລັບທີມງານທໍາອິດທີ່ຈະສໍາເລັດວຽກງານຂອງເຂົາເຈົ້າ.
- ທີມງານແລະລະບົບທີ່ປົກຄອງຕົນເອງ: ແຕ່ລະທີມຜະລິດຕະພັນ, ແລະດັ່ງນັ້ນ, ແຕ່ລະຄຸນສົມບັດ, ສາມາດເຮັດວຽກໄດ້ໂດຍການເພິ່ງພາອາໄສຄົນອື່ນຫນ້ອຍ, ເຊິ່ງເຮັດໃຫ້ມັນສາມາດສືບຕໍ່ເຮັດວຽກໄດ້ເຖິງແມ່ນວ່າອົງປະກອບທີ່ໃກ້ຄຽງບໍ່ມີຢູ່.
- ຫຼາຍ, codebases ນ້ອຍກວ່າ: ແຕ່ລະ micro frontends ຈະມີ codebase ຂອງຕົນເອງ, ສາມາດຈັດການໄດ້ຫຼາຍ, ນ້ອຍກວ່າ. ມີຄົນໜ້ອຍລົງຈະເນັ້ນໃສ່ອົງປະກອບ UI ສະເພາະ, ເຮັດໃຫ້ການກວດສອບລະຫັດງ່າຍຂຶ້ນ ແລະປັບປຸງອົງກອນໂດຍລວມ.
- ການປັບຂະໜາດແອັບງ່າຍໆ: ປະໂຫຍດອີກອັນໜຶ່ງຂອງ micro frontends ແມ່ນຄວາມສາມາດໃນການປັບຂະໜາດແຕ່ລະຄຸນສົມບັດແຕ່ລະອັນ. ກົງກັນຂ້າມກັບ monoliths, ບ່ອນທີ່ໂຄງການທັງຫມົດຕ້ອງໄດ້ຮັບການປັບຂະຫນາດໃນແຕ່ລະຄັ້ງທີ່ມີການເພີ່ມຄຸນສົມບັດໃຫມ່, ນີ້ເຮັດໃຫ້ຂະບວນການທັງຫມົດມີປະສິດທິພາບຫຼາຍຂຶ້ນທັງເວລາແລະເງິນ.
micro frontend ເຮັດວຽກແນວໃດ?
ດັ່ງທີ່ພວກເຮົາໄດ້ກ່າວກ່ອນຫນ້ານີ້, ທີມງານໄດ້ຖືກຈັດລຽງຕາມແນວຕັ້ງພາຍໃນສະຖາປັດຕະຍະກໍາ micro frontend, ຊຶ່ງຫມາຍຄວາມວ່າພວກເຂົາຖືກແຍກອອກໂດຍຄວາມຮູ້ຫຼືຈຸດປະສົງຂອງໂດເມນແລະຮັບຜິດຊອບຕັ້ງແຕ່ຕົ້ນຈົນຈົບສໍາລັບຜະລິດຕະພັນສະເພາະ.
ມັນສາມາດມີຫນຶ່ງຫຼືສອງ backend microservices ເຊັ່ນດຽວກັນກັບ frontend ຂະຫນາດນ້ອຍ. ໃນລາຍລະອຽດເພີ່ມເຕີມ, ໃຫ້ກວດເບິ່ງຄຸນລັກສະນະຂອງອົງປະກອບສາຍຕານີ້, ການໂຕ້ຕອບກັບອົງປະກອບ UI ອື່ນໆ, ແລະການລວມເຂົ້າກັບຫນ້າທໍາອິດ.
A micro frontend ສາມາດເປັນ
- ຫນ້າທັງຫມົດ (ຕົວຢ່າງ, ຫນ້າລາຍລະອຽດຂອງຜະລິດຕະພັນ) ຫຼື
- ພາກສ່ວນຂອງຫນ້າທີ່ສາມາດນໍາໃຊ້ໂດຍທີມງານອື່ນໆ, ເຊັ່ນ: ຫົວ, ສ່ວນທ້າຍ, ແລະແຖບຄົ້ນຫາ.
ທ່ານສາມາດແບ່ງເວັບໄຊທ໌ໃຫຍ່ອອກເປັນຫຼາຍປະເພດຫນ້າແລະໃຫ້ແຕ່ລະປະເພດໃຫ້ພະນັກງານສະເພາະທີ່ຈະເຮັດວຽກ.
ແນວໃດກໍ່ຕາມ, ອົງປະກອບຫຼາຍອັນເກີດຂຶ້ນເລື້ອຍໆໃນຫຼາຍໜ້າ, ເຊັ່ນ: ສ່ວນຫົວ, ສ່ວນທ້າຍ, ບລັອກຂໍ້ແນະນຳ, ເປັນຕົ້ນ. ຕົວຢ່າງເຊັ່ນ: ບລັອກຄຳແນະນຳສາມາດຖືກລວມຢູ່ໃນໜ້າຫຼັກ, ໜ້າລາຍລະອຽດຂອງຜະລິດຕະພັນ ຫຼືແມ່ນແຕ່ໜ້າຈ່າຍເງິນ.
ໂດຍເນື້ອແທ້ແລ້ວ, ທີມງານສາມາດສ້າງຊິ້ນສ່ວນທີ່ທີມງານອື່ນໆສາມາດນໍາໃຊ້ໃນຫນ້າເວັບຂອງເຂົາເຈົ້າ.
ແນວໃດກໍ່ຕາມ, micro frontends ສາມາດຖືກນໍາໄປໃຊ້ແຍກຕ່າງຫາກເປັນໂຄງການທີ່ແຕກຕ່າງກັນ, ກົງກັນຂ້າມກັບອົງປະກອບທີ່ນໍາໃຊ້ຄືນໄດ້.
ທັງຫມົດນີ້ສຽງທີ່ຍິ່ງໃຫຍ່, ແຕ່ວ່າເພື່ອສ້າງການໂຕ້ຕອບທີ່ເປັນເອກະພາບ, ຫນ້າແລະຊິ້ນສ່ວນໃດຫນຶ່ງຕ້ອງໄດ້ຮັບການລວມເຂົ້າກັນ.
ນີ້ຮຽກຮ້ອງໃຫ້ມີການເຊື່ອມໂຍງທາງດ້ານຫນ້າ, ເຊິ່ງສາມາດປະຕິບັດໄດ້ໂດຍຜ່ານຍຸດທະສາດຕ່າງໆ, ລວມທັງການກໍານົດເສັ້ນທາງ, ອົງປະກອບແລະການສື່ສານ (ເບິ່ງຮູບພາບຂ້າງເທິງ).
ເສັ້ນທາງ
ເມື່ອການບໍລິການຈາກຫນ້າທີ່ຄວບຄຸມໂດຍທີມງານຫນຶ່ງແມ່ນຈໍາເປັນໃນການເຂົ້າເຖິງຫນ້າທີ່ເປັນເຈົ້າຂອງໂດຍທີມງານອື່ນ, ເສັ້ນທາງແມ່ນເປັນປະໂຫຍດສໍາລັບການເຊື່ອມໂຍງກັບລະດັບຫນ້າ.
ທຸກໆໜ້າຈຸນລະພາກຖືກຈັດການເປັນແອັບພລິເຄຊັນໜ້າດຽວ. ການເຊື່ອມຕໍ່ HTML ງ່າຍດາຍສາມາດຖືກນໍາໃຊ້ເພື່ອສະຫນອງເສັ້ນທາງ.
ຜູ້ໃຊ້ສາມາດບັງຄັບໃຫ້ຕົວທ່ອງເວັບດາວໂຫລດເຄື່ອງຫມາຍເປົ້າຫມາຍຈາກເຄື່ອງແມ່ຂ່າຍແລະປ່ຽນຫນ້າປັດຈຸບັນດ້ວຍຫນ້າໃຫມ່ໂດຍການຄລິກໃສ່ hyperlinks.
app shell ແມ່ນຕໍາ່ສຸດທີ່ເປົ່າຂອງ HTML, CSS, ແລະ JavaScript ທີ່ມີອໍານາດ UI. ເຖິງແມ່ນວ່າຂໍ້ມູນເນື້ອຫາທີ່ຮ້ອງຂໍຈາກເຄື່ອງແມ່ຂ່າຍແມ່ນຍັງລໍຖ້າ, ຜູ້ໃຊ້ໄດ້ຮັບຫນ້າທີ່ສະແດງແບບຄົງທີ່ທັນທີ. ແກະແອັບຯກາງເຮັດໜ້າທີ່ເປັນແອັບພລິເຄຊັນຫຼັກສໍາລັບແອັບຯໜ້າດຽວທີ່ສ້າງຂຶ້ນໂດຍທີມງານຕ່າງໆ.
ບໍ່ວ່າຫ້ອງສະຫມຸດຫຼືກອບທີ່ຖືກນໍາໃຊ້, meta-frameworks ເຮັດໃຫ້ fusion ຂອງຫນ້າຕ່າງໆເຂົ້າໄປໃນຫນຶ່ງດຽວ.
ອົງປະກອບຂອງ
ອົງປະກອບແມ່ນຂະບວນການຈັດແຈງຊິ້ນສ່ວນຕ່າງໆໃຫ້ພໍດີກັບພວກມັນເຂົ້າໄປໃນພື້ນທີ່ທີ່ເຫມາະສົມໃນຫນ້າ. ໃນກໍລະນີຫຼາຍທີ່ສຸດ, ທີມງານທີ່ນໍາໃຊ້ຫນ້າເວັບບໍ່ໄດ້ເອົາເນື້ອຫາຂອງຊິ້ນສ່ວນໃນທັນທີ.
ແທນທີ່ຈະ, ມັນວາງຕົວຍຶດຫຼືເຄື່ອງຫມາຍບ່ອນທີ່ຊິ້ນສ່ວນຄວນຈະຢູ່ໃນເຄື່ອງຫມາຍ.
ການນໍາໃຊ້ຂະບວນການປະກອບທີ່ແຕກຕ່າງກັນ, ການປະກອບສຸດທ້າຍແມ່ນສໍາເລັດ. ອົງປະກອບສາມາດແບ່ງອອກເປັນສອງປະເພດພື້ນຖານ: ດ້ານລູກຄ້າແລະຝ່າຍເຊີຟເວີ.
ອົງປະກອບຂ້າງລູກຄ້າ: ຕົວທ່ອງເວັບຖືກນໍາໃຊ້ເພື່ອສ້າງແລະແກ້ໄຂ HTML markup. ແຕ່ລະຫນ້າຈຸນລະພາກມີຄວາມສາມາດປ່ຽນແປງແລະສະແດງເຄື່ອງຫມາຍຂອງມັນແຍກຕ່າງຫາກຈາກສ່ວນທີ່ເຫຼືອຂອງຫນ້າ.
ອົງປະກອບເວັບ, ສໍາລັບການຍົກຕົວຢ່າງ, ອະນຸຍາດໃຫ້ທ່ານສາມາດດໍາເນີນການປະເພດຂອງການກໍ່ສ້າງນີ້.
ແຜນການແມ່ນເພື່ອປ່ຽນຊິ້ນສ່ວນແຕ່ລະອັນເປັນອົງປະກອບເວັບທີ່ສາມາດຕິດຕັ້ງເປັນເອກະລາດເປັນໄຟລ໌ a.js, ຫຼັງຈາກນັ້ນແອັບຯສາມາດໂຫລດແລະສະແດງໃຫ້ພວກເຂົາຢູ່ໃນຊ່ອງທີ່ກໍານົດໃຫ້ພວກເຂົາຢູ່ໃນຮູບແບບຫົວຂໍ້.
ອົງປະກອບເວັບແມ່ນຂຶ້ນກັບ HTML ແລະ DOM API, ເຊິ່ງກອບດ້ານຫນ້າອື່ນໆສາມາດນໍາໃຊ້ໄດ້, ເຊັ່ນດຽວກັນກັບວິທີການມາດຕະຖານຂອງການສົ່ງແລະຮັບຂໍ້ມູນຜ່ານ props ແລະເຫດການ.
ອົງປະກອບຂ້າງເຊີບເວີ: ດ້ວຍການອອກແບບນີ້, ຊິ້ນສ່ວນ UI ໄດ້ຖືກລວມເຂົ້າກັນຢູ່ໃນເຄື່ອງແມ່ຂ່າຍ, ເຊິ່ງເຮັດໃຫ້ຫນ້າທີ່ຖືກສ້າງຕັ້ງຂື້ນຢ່າງສົມບູນຖືກສົ່ງໄປຫາລູກຄ້າ, ເລັ່ງການໂຫຼດ.
ການຊຸມນຸມມັກຈະປະຕິບັດໂດຍການບໍລິການແຍກຕ່າງຫາກທີ່ຕັ້ງຢູ່ລະຫວ່າງຕົວທ່ອງເວັບແລະເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌. CDN ແມ່ນຫນຶ່ງໃນຕົວຢ່າງຂອງການບໍລິການ (ເຄືອຂ່າຍການຈັດສົ່ງເນື້ອຫາ).
ທ່ານສາມາດເລືອກເອົາຫນຶ່ງຫຼືການປະສົມຂອງທັງສອງ, ຂຶ້ນກັບຄວາມຕ້ອງການຂອງທ່ານ.
ຮູບແບບການສື່ສານທາງໜ້າຈຸນລະພາກ
ສະຖາປັດຕະຍະກໍາ micro-frontend ເຮັດວຽກໄດ້ດີທີ່ສຸດເມື່ອມີການໂຕ້ຕອບພຽງເລັກນ້ອຍຫຼືບໍ່ມີການໂຕ້ຕອບລະຫວ່າງອົງປະກອບຕ່າງໆ. Micro frontends ເປັນບາງຄັ້ງຄາວຕ້ອງລົມກັນ ແລະແບ່ງປັນຂໍ້ມູນ. ນີ້ແມ່ນບາງຮູບແບບທີ່ມີທ່າແຮງທີ່ອາດຈະນໍາໄປສູ່ສິ່ງນັ້ນ.
- ພະນັກງານເວັບ: ພະນັກງານອອນໄລນ໌ແມ່ນກົນໄກທີ່ຊ່ວຍໃຫ້ເນື້ອຫາເວັບສາມາດແລ່ນ JavaScript ໃນພື້ນຫລັງ, ເປັນເອກະລາດຈາກສະຄິບອື່ນໆ, ແລະບໍ່ມີຜົນກະທົບຕໍ່ຄວາມໄວຂອງຫນ້າ. API ຄົນງານທີ່ບໍ່ຊໍ້າກັນຈະຖືກສະໜອງໃຫ້ແຕ່ລະແອັບຯຈຸລະພາກ. ຜົນປະໂຫຍດນີ້ແມ່ນວ່າວຽກທີ່ໃຊ້ເວລາຫຼາຍສາມາດເຮັດໄດ້ໃນກະທູ້ທີ່ແຕກຕ່າງກັນ, ເຮັດໃຫ້ຫົວຂໍ້ UI ດໍາເນີນການໂດຍບໍ່ມີການຊ້າລົງຫຼືຢຸດເຊົາ.
- ຜູ້ເຜີຍແຜ່ເຫດການ: ໃນກໍລະນີນີ້, ອົງປະກອບຈໍານວນຫຼາຍຕິດຕໍ່ພົວພັນກັບກັນແລະກັນໂດຍການຮັບຟັງແລະການປະຕິບັດການປ່ຽນແປງລັດໃດຫນຶ່ງໃນອົງປະກອບທີ່ເຂົາເຈົ້າໄດ້ຮັບການສະຫມັກ. ສ່ວນໜ້າຈຸນລະພາກອື່ນໆທີ່ໄດ້ສະໝັກໃຊ້ກັບເຫດການສະເພາະນັ້ນຕອບສະໜອງເມື່ອ micro frontend ຍິງເຫດການນັ້ນ. ຕົວປ່ອຍເຫດການທີ່ໄດ້ຖືກນໍາສະເຫນີເຂົ້າໄປໃນແຕ່ລະ micro-frontend ເຮັດໃຫ້ມັນເປັນໄປໄດ້.
- ໂທກັບແລະອຸປະກອນເສີມ: ໃນພາກນີ້, ທ່ານກໍານົດອົງປະກອບຂອງພໍ່ແມ່ແລະອົງປະກອບຂອງເດັກນ້ອຍ. ການສື່ສານໄດ້ຖືກຈັດຕັ້ງເປັນໂຄງສ້າງຄ້າຍຄືຕົ້ນໄມ້. ອົງປະກອບຂອງພໍ່ແມ່ໃຊ້ props ເພື່ອຖ່າຍທອດຂໍ້ມູນເປັນຫນ້າທີ່ລົງໃນຕົ້ນໄມ້ອົງປະກອບໄປຫາອົງປະກອບຂອງເດັກ. ໃນທາງກັບກັນ, ເດັກສາມາດແຈ້ງເຕືອນພໍ່ແມ່ໄດ້ຢ່າງມີປະສິດທິພາບເມື່ອມີຫຍັງເກີດຂຶ້ນໃນສະຖານະຂອງເຂົາເຈົ້າໂດຍການຕອບສະໜອງຕໍ່ກັບການໂທກັບ. React ໃຊ້ໂໝດນີ້.
ຂໍ້ດີຂອງ Micro frontend
ການພັດທະນາໃນທີມທີ່ປົກຄອງຕົນເອງຢ່າງໄວວາ
ທີມງານເອກະລາດສາມາດສ້າງແຕ່ລະສ່ວນຂອງແອັບຯເວັບຫຼືເວັບໄຊທ໌ໃນເວລາທີ່ໃຊ້ວິທີການ micro frontend.
ແຕ່ລະທີມງານແມ່ນເປັນເອກະລາດຢ່າງສົມບູນ, ຊຶ່ງຫມາຍຄວາມວ່າມັນຮັບຜິດຊອບຂອງວົງຈອນການພັດທະນາອົງປະກອບທັງຫມົດ, ຈາກແນວຄວາມຄິດກັບການປ່ອຍແລະຫຼັງການຜະລິດ.
ນອກຈາກນັ້ນ, ມັນຫມາຍຄວາມວ່າທີມງານຕ່າງໆສາມາດຮ່ວມມືກັນຢ່າງບໍ່ຢຸດຢັ້ງໃນຂະນະທີ່ເຮັດວຽກຮ່ວມກັນໃນໂຄງການດຽວກັນ.
ດັ່ງນັ້ນ, ຮອບວຽນການປ່ອຍຕົວແມ່ນໄວກວ່າທີ່ພວກມັນຈະຢູ່ກັບ monoliths ດ້ານຫນ້າ.
Codebases ຂະຫນາດນ້ອຍຂອງ Individual Micro Frontends ນໍາໄປສູ່ລະຫັດທີ່ສະອາດ
ປາຍທາງຫນ້າຂອງ monolithic ມີ codebases ຂະຫນາດໃຫຍ່, unwieldy ກາຍເປັນ chaotic ເພີ່ມຂຶ້ນແລະສິ່ງທ້າທາຍໃນການຄຸ້ມຄອງໃນໄລຍະເວລາ.
Micro frontends ແກ້ໄຂບັນຫານີ້. ແຕ່ລະລະຫັດແຫຼ່ງຂອງ micro frontend ແມ່ນສາມາດຈັດການໄດ້ຫຼາຍຂຶ້ນເນື່ອງຈາກມັນມີຂະໜາດນ້ອຍກວ່າ, ງ່າຍກວ່າ, ແລະໜາແໜ້ນກວ່າ.
ການແກ້ໄຂເວັບໄຊຕ໌ໂດຍລວມໄດ້ຮັບຜົນປະໂຫຍດຈາກລະຫັດທີ່ສະອາດເປັນຜົນສະທ້ອນ.
ປັບປຸງຄວາມສະຖຽນຂອງແອັບຯ ເນື່ອງຈາກການເຊື່ອມທີ່ວ່າງ
ການແກ້ໄຂເວັບສາມາດບໍ່ຄ່ອຍໄດ້ແບ່ງອອກເປັນຕ່ອນເອກະລາດຢ່າງສົມບູນ. ດັ່ງນັ້ນ, micro frontends ເວົ້າກັບກັນແລະກັນ.
ຢ່າງໃດກໍຕາມ, ແຕ່ລະເຊື່ອມຕໍ່ລະຫວ່າງອົງປະກອບແມ່ນມີຄວາມສໍາຄັນເຖິງວ່າຈະມີການເຊື່ອມຕໍ່ວ່າງ.
ຄວາມລົ້ມເຫຼວຂອງອົງປະກອບຫນຶ່ງມີຫນ້ອຍທີ່ຈະບໍ່ມີຜົນຕໍ່ການດໍາເນີນງານຂອງອົງປະກອບອື່ນໆທັງຫມົດ, ເຊິ່ງສະຫນອງຄວາມຫມັ້ນຄົງຂອງການແກ້ໄຂເວັບໄຊຕ໌.
ການທົດສອບຄຸນສົມບັດສ່ວນບຸກຄົນແມ່ນເຮັດໃຫ້ງ່າຍດາຍ
ຜົນປະໂຫຍດນີ້ແມ່ນມາຈາກຄຸນລັກສະນະຂອງ micro frontends. ອີງຕາມການອອກແບບສະຖາປັດຕະຍະກໍານີ້, ຝ່າຍລູກຄ້າຂອງການແກ້ໄຂເວັບແມ່ນແບບໂມດູນແລະແຕ່ລະໂມດູນແມ່ນເປັນເອກະລາດ.
ດັ່ງນັ້ນ, ການປະເມີນສ່ວນນ້ອຍໆຂອງສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ດ້ວຍຕົວມັນເອງແມ່ນງ່າຍກວ່າສໍາລັບທີມງານທີ່ຈະເຮັດຫຼາຍກວ່າການທົດສອບ monolith ຂະຫນາດໃຫຍ່.
ຂະໜາດຊຸດທີ່ຫຼຸດລົງເຮັດໃຫ້ໜ້າໂຫຼດໄວຂຶ້ນ
ຫນຶ່ງໃນສາເຫດຕົ້ນຕໍຂອງການຊັກຊ້າເວລາໂຫຼດໃນລະບົບເວັບໄຊຕ໌ monolithic ທີ່ມີຄຸນນະສົມບັດແມ່ນຂະຫນາດຂອງຊຸດ JavaScript. ອີກດ້ານຫນຶ່ງ, ວິທີການ micro frontend ເຮັດໃຫ້ມັນງ່າຍຂຶ້ນໃນການຫຼຸດຜ່ອນເວລາໂຫຼດຫນ້າ.
ບຣາວເຊີບໍ່ຈຳເປັນຕ້ອງດາວໂຫຼດລະຫັດທີ່ບໍ່ຈຳເປັນຊ້ຳໆ ເພາະວ່າໜ້າເວັບແມ່ນປະກອບດ້ວຍຫຼາຍອັນນ້ອຍໆ. ດັ່ງນັ້ນ, ການປະຕິບັດຫນ້າແລະເວລາໂຫຼດແມ່ນເພີ່ມຂຶ້ນ.
ເຕັກໂນໂລຊີເອກະລາດ
ຫຼາຍ ຂອບດ້ານໜ້າ ສາມາດໃຊ້ໂດຍນັກພັດທະນາເພື່ອສ້າງການແກ້ໄຂອອນໄລນ໌ດຽວທີ່ມີສະຖາປັດຕະຍະກໍາ micro-frontend.
ເນື່ອງຈາກແຕ່ລະອົງປະກອບແມ່ນເປັນເອກະລາດ, ມັນສາມາດໄດ້ຮັບການກໍ່ສ້າງໂດຍໃຊ້ເຕັກໂນໂລຢີໃດກໍ່ຕາມທີ່ເຫມາະສົມກັບວຽກງານຂອງທີມງານທີ່ດີທີ່ສຸດ.
ຕາມທໍາມະຊາດ, ນັກຂຽນໂປລແກລມຄວນໃຊ້ຄວາມລະມັດລະວັງໃນເວລາເລືອກກອບສໍາລັບໂຄງການຊອບແວທີ່ເຂົາເຈົ້າຮັບຜິດຊອບ, ແລະການປຶກສາຫາລືກັບທີມງານອື່ນໆແມ່ນຍັງແນະນໍາຢ່າງແຂງແຮງ.
ແນວໃດກໍ່ຕາມ, ບໍ່ມີໂອກາດທີ່ເຈົ້າຈະຖືກບັງຄັບໃຫ້ໃຊ້ໂຄງຮ່າງການເກົ່າແກ່ຕະຫຼອດໄລຍະເວລາຂອງຊີວິດຂອງແອັບຯ.
ຂໍ້ເສຍຂອງ Micro Frontend
ການທົດສອບການແກ້ໄຂເວັບໄຊຕ໌ທີ່ຊັບຊ້ອນໃນທັງຫມົດ
ການທົດສອບໂມດູນຕ່າງໆຂອງການແກ້ໄຂເວັບແມ່ນງ່າຍເມື່ອມັນໃຊ້ສະຖາປັດຕະຍະກຳ micro-frontend. ມັນແຕກຕ່າງຈາກການປະເມີນຄໍາຮ້ອງສະຫມັກເວັບໄຊຕ໌ທັງຫມົດ, ເຖິງແມ່ນວ່າ.
ກວດສອບວ່າທຸກພາກສ່ວນເຮັດວຽກຕາມທີ່ຕັ້ງໄວ້ກ່ອນທີ່ຈະສືບຕໍ່. ອັນນີ້ອາດຈະເປັນເລື່ອງຍາກເນື່ອງຈາກ micro frontends ເຮັດວຽກເປັນເອກະລາດ ແລະມີຂະບວນການຈັດສົ່ງແຍກຕ່າງຫາກ.
ການລົງທຶນເບື້ອງຕົ້ນທີ່ມີລາຄາແພງ
ໂດຍທົ່ວໄປແລ້ວການພັດທະນາ Micro frontend ຕ້ອງການເງິນທຶນຢ່າງຫຼວງຫຼາຍ. ມັນເປັນລາຄາແພງທີ່ຈະລວບລວມແລະຮັກສາທີມງານແຖວຫນ້າຫຼາຍ.
ນອກຈາກນັ້ນ, ເຈົ້າຍັງຕ້ອງການພະນັກງານບໍລິຫານເພື່ອຈັດລະບຽບວຽກ, ໃຫ້ແນ່ໃຈວ່າທຸກສິ່ງທຸກຢ່າງຖືກປະສານງານ, ແລະຮັບປະກັນການສື່ສານທີມງານທີ່ດີເລີດ.
ຄວາມສັບສົນຂອງການພັດທະນາແລະການນໍາໃຊ້
ຂັ້ນຕອນການພັດທະນາ ແລະການນຳໃຊ້ສາມາດສັບສົນຫຼາຍຂຶ້ນຍ້ອນຜົນຂອງການອອກແບບ micro-frontend.
ການແກ້ໄຂອາດຈະສັບສົນກັບອົງປະກອບຫຼາຍເກີນໄປໂດຍທີມງານພັດທະນາເອກະລາດທີ່ເຮັດວຽກຢູ່ໃນໂຄງການດຽວກັນ, ຕົວຢ່າງ, ເຊິ່ງອາດຈະເຮັດໃຫ້ເກີດບັນຫາໃນຂັ້ນຕອນການຈັດຕັ້ງປະຕິບັດ.
ການປະກອບທີ່ຖືກຕ້ອງຂອງທຸກໂມດູນແລະການລວມເຂົ້າກັນຢ່າງລຽບງ່າຍໃນໂຄງການໂດຍລວມແມ່ນບໍ່ງ່າຍດາຍສະເຫມີ; ວຽກງານນີ້ປົກກະຕິຈໍາເປັນຕ້ອງມີຄວາມເຂົ້າໃຈຢ່າງລະອຽດກ່ຽວກັບການຂຶ້ນກັບທັງຫມົດ.
ບັນຫາການຮັກສາຄວາມສອດຄ່ອງໃນປະສົບການຂອງຜູ້ໃຊ້
ການຮັກສາການໂຕ້ຕອບຜູ້ໃຊ້ທີ່ສອດຄ່ອງແມ່ນເປັນສິ່ງທ້າທາຍເມື່ອທີມງານເຮັດວຽກແຍກຕ່າງຫາກໃນຫຼາຍໆສ່ວນຂອງຊອບແວ.
ການແກ້ໄຂເວັບຄວນໄດ້ຮັບການແບ່ງປັນໂດຍຜູ້ພັດທະນາໂຄງການທັງຫມົດ. ຖ້າບໍ່ດັ່ງນັ້ນ, ອາດຈະມີຄວາມຂັດແຍ່ງກັນຫຼາຍຕາມຖະຫນົນຫົນທາງ.
ສະຫຼຸບ
Micro frontends, ການອອກແບບສະຖາປັດຕະຍະກໍາທີ່ທັນສະໄຫມ, ສາມາດເສີມຂະຫຍາຍການປະຕິບັດໂຄງການພັດທະນາເວັບທີ່ອີງໃສ່ microservice ຢ່າງຫຼວງຫຼາຍ.
ມັນຊ່ວຍໃຫ້ນັກຂຽນໂປລແກລມສາມາດແບ່ງການແກ້ໄຂທີ່ສົມບູນອອກເປັນສ່ວນທີ່ບໍ່ຊ້ໍາກັນເຊິ່ງສາມາດສ້າງໄດ້ໂດຍທີມງານທີ່ມີເອກະລາດຫຼາຍ. ຜົນປະໂຫຍດຈໍານວນຫຼາຍຕິດຕາມມາຈາກນີ້, ລວມທັງການນໍາໃຊ້ຄຸນສົມບັດໄວຂຶ້ນ, ການທົດສອບງ່າຍຂຶ້ນຂອງໂມດູນແຕ່ລະຄົນ, ແລະການຍົກລະດັບທີ່ບໍ່ສອດຄ່ອງຫຼາຍ.
ແຕ່ມີຄວາມຫຍຸ້ງຍາກບາງຢ່າງກັບ micro frontends ເຊັ່ນກັນ.
ສໍາລັບຕົວຢ່າງ, ການທົດສອບທີ່ສົມບູນແບບຂອງຄໍາຮ້ອງສະຫມັກ, ອາດຈະເປັນສິ່ງທ້າທາຍ.
ນອກຈາກນັ້ນ, ເນື່ອງຈາກວ່າທີມງານວິສະວະກອນແລະຜູ້ບໍລິຫານຂະຫນາດໃຫຍ່ແມ່ນຈໍາເປັນ, ໂຄງການ micro frontend ແມ່ນມີລາຄາແພງສູງ.
ດັ່ງນັ້ນ, ກ່ອນທີ່ຈະຕັດສິນໃຈ, ທ່ານຕ້ອງຄໍານຶງເຖິງອົງປະກອບທັງຫມົດຂອງກໍລະນີທຸລະກິດຂອງທ່ານ.
ວະລາດິມີ ເຣ ແອັມມາຈ
ບາງຢ່າງຂ້າພະເຈົ້າບໍ່ເຂົ້າໃຈກ່ຽວກັບຫຼັກການໃດທີ່ການສື່ສານລະຫວ່າງອົງປະກອບສ່ວນບຸກຄົນໃນ frontend ເຮັດວຽກ. ຂ້ອຍບໍ່ເຂົ້າໃຈວ່າທ່ານຕ້ອງການເຊື່ອມຕໍ່ອົງປະກອບທີ່ຖືກສ້າງຂຶ້ນໃນກອບທີ່ແຕກຕ່າງກັນແນວໃດ. ບໍ່ມີຫຍັງຢູ່ໃນບົດຄວາມກ່ຽວກັບມັນ. ລະບົບເຫດການ ແລະຜູ້ຟັງເບິ່ງຄືວ່ານາລົກເທິງແຜ່ນດິນໂລກສຳລັບຂ້ອຍ. ພວກເຮົາຄວນຈິນຕະນາການມັນແນວໃດ?