Keyingi veb-ilovangizni yaratish uchun eng yaxshi orqa chiziq

Dasturiy ta'minot ishlab chiqaruvchisi sifatida, men sizning old va orqa tomonni ishlab chiqish haqida aniq tasavvurga ega ekaningizga aminman. Oddiy so'z bilan aytganda, frontend, foydalanuvchi tomonidan UI / UX ko'rinishida ko'riladigan mijoz tomoni deb ham ataladi.

Dasturni yaratish uchun foydalanuvchi dasturiy ta'minotni yaratishi kerak, bunda foydalanuvchi o'zaro ta'sir qilishi va ba'zi harakatlar qilishi mumkin (natijada javoblar paydo bo'ladi). Shu nuqtai nazardan, asosiy protsessor yoki dasturiy ta'minot tizimi nomidan ixtisoslashgan funktsiyani bajaradigan (foydalanuvchilar to'g'ridan-to'g'ri foydalana olmaydigan) subordinat protsessor yoki dastur sifatida aniqlanadi.

Ushbu skriptlarni ishga tushirish uchun sizga veb-server kerak bo'ladi. Veb-server sizning ishlab chiqarish mashinangiz (localhost), bag'ishlangan yoki bulutli hosting xizmati bo'lishi mumkin. Barcha skriptlar serverda joylashgan. Foydalanuvchi ushbu skriptlar bilan o'zaro aloqada bo'lganda, javoblar yaratiladi va foydalanuvchiga yuboriladi.

Backend vs Frontend

Internetda orqa va old qism o'rtasidagi farqni muhokama qiladigan ko'plab komikslarni ko'rgan bo'lar edingiz.

BFCMni unuting! Ushbu yozda bulutli yo'llarni tejang, miqyosda va yutib oling! [Bepul tarqatmoq]

Yuqoridagi kulgili old va orqa qism o'rtasidagi farqni tushuntiradi. Biroq, menimcha, bu oddiy narsa. Serverda foydalanuvchilar uchun ko'rinmaydigan vositalar, skriptlar, API va tashqi kutubxonalar to'plami mavjud. Barcha foydalanuvchilar ko'radilar - bu orqa tomon bilan interfeysga ega bo'lgan va oldingi interfeys interfeysi orqali ishlov berish natijalarini taqdim etadigan frontend.

Orqa tomonni rivojlantirish me'morchiligi

Har qanday dinamik dasturning orqa tomoni arxitekturasini tushunish uchun ushbu rasmni tekshirib ko'ring:

Manba: ish

Talablarga javob berish arxitekturasida ishlaydigan dinamik dasturning orqa tomoni yoki skript tomoni API, ma'lumotlar bazalari, ramkalar, xizmat ko'rsatish xodimlari va operatsion tizimlardan iborat. Hozirgi kunda ishlab chiquvchilar Docker, Vagrant va BAAS kabi xizmatlarga kirish imkoniyatiga egalar, ular har qanday serverga yoki bulutga orqa skriptlarni avtomatik ravishda joylashtiradigan murakkab tizimlarni ta'minlaydi.

Orqa fon rasmlarining muhimligini hisobga olsak, ishlab chiquvchilar bir qator ramkalarni tanlashi ajablanarli emas. GitHub va shunga o'xshash platformalarda ishlab chiqarishga qo'shimcha qiymat qo'shadigan bir qator ramkalar mavjud.

Quyidagi ro'yxatda men eng mashhur backend-ramkalarni yoritaman.

PHP ramkalari

PHP veb-loyihalar uchun eng mashhur skript tilidir. Bu deyarli yigirma yildan beri mavjud bo'lib, uning inventarizatsiyasida bir nechta muhim ma'lumot bazalari mavjud.

Simfoniya

Symfony - bu PHP komponentlari, veb-dastur doirasi, falsafa va hamjamiyat, barchasi birgalikda uyg'unlikda ishlaydi. Symfony dasturiy ta'minot mustaqil Symfony komponentlari bilan mustahkamlangan kuchli PHP dasturlarini yaratadigan standart asosni ta'minlaydi.

Ramkada juda faol ishlab chiquvchilar va ishtiyoqmandlar jamiyati mavjud bo'lib, ular ushbu ramkaga yordam beradi. Ramkaning to'plam arxitekturasi barcha tashqi kutubxonalar uchun plug-n-play imkoniyatini beradi. Symfony 4-ning so'nggi versiyasi ko'plab qaramlikni olib tashlaydi va hozirgi kunga qadar eng engil versiyasidir.

O'rnatish: 33 732 345

Qarindoshlar: 4 083

Maslahatchilar: 34

Yulduzlar: 18 185

Kuzatuvchilar: 1 304

Vilkalar: 6 336

Ochiq sonlar: 915

Laravel

Laravel - bu ishlab chiqarish jarayonini soddalashtiradigan va veb-ilovalar loyihasidan tashqari og'riqning katta qismini oladigan nisbatan yangi ramka. U toza va oqlangan PHP kodi va autentifikatsiya, marshrutizatsiya, konteynerizatsiya va navbat kabi sodda vazifalari bilan mashhur. Laravel ma'lumotlar bazasi so'rovlarini boshqarish uchun o'zining migratsiya tizimiga ega. Ushbu tizim kichik va katta dasturlarni ishlab chiqish uchun juda mos keladi, chunki bu murakkab dastur talablariga ega.

O'rnatish: 8 513 794

Qarindoshlar: 507

Suggeters: 6

Yulduzlar: 44 668

Kuzatuvchilar: 4 607

Vilkalar: 13 827

Zend

Zend - CRM va moliyaviy tizimlar kabi yirik korxona darajasidagi ilovalarni ishlab chiqish uchun mashhur tanlov. Ishlab chiquvchilar yuqori samarali MVC arxitekturasi, kengaytiriladigan komponentlar bilan birlashtirilgan mustahkam kod bazasidan foyda olishadi. Zend OOP-ning to'liq tushunchalarini qo'llab-quvvatlaydi va ishlab chiquvchilar kerak bo'lganda sinflarni yaratishi va tarqatishi mumkin edi. Symfony singari, Zend ham loyihalarning har bir talablari uchun tarkibiy qismlarning uzoq ro'yxatiga ega.

O'rnatish: 4 331 122

Qarindoshlar: 1 375

Suggeters: 9

Yulduzlar: 5 656

Kuzatuvchilar: 584

Vilkalar: 2 958

Ochiq sonlar: 26

CodeIgniter

CodeIgniter - bu dasturlarni ishlab chiqish doirasi - PHP veb-saytlarini yaratish loyihalari uchun vosita. Maqsad, ishlab chiquvchilarga noldan kod yozishga hojat yo'qligiga ishonch hosil qilish. Bunga umumiy vazifalar uchun boy kutubxonalar to'plami va ushbu kutubxonalarga kirish uchun oddiy interfeys (juda mantiqiy tuzilishga ega) imkoni yaratildi. To'g'ri qoidalar yo'q, shuning uchun ishlab chiquvchilar o'zlarining loyihalari uchun nima ishlashini aniqlash uchun ramka tarkibiy qismlari bilan tajriba o'tkazishlari mumkin. CodeIgniter-dan foydalanib, ishlab chiquvchilar loyihaga ijodiy e'tiborni qaratishlari va berilgan topshiriq uchun kod yozishga bo'lgan talablarni minimallashtirishlari mumkin.

O'rnatish: 316 954

Qarindoshlar: 60

Suggesters: 1

Yulduzlar: 16 347

Kuzatuvchilar: 1 765

Vilkalar: 7 464

Ochiq sonlar: 81

Yii2

Yii - bu tezkor va xavfsiz PHP doirasi bo'lib, u yuqori unumdorlikdagi web 2.0 ilovalari uchun idealdir. U MVC, DAO / ActiveRecord, keshlash, autentifikatsiya va rolga asoslangan kirishni boshqarish, iskala, sinov kabi boy xususiyatlarga ega. Yii MVC naqshini va mantiq va taqdimotni aniq ajratib turadigan toza va qayta ishlatiladigan kodni ta'minlaydi.

O'rnatish: 1 473 759

Qarindoshlar: 373

Suggeters: 8

Yulduzlar: 4 865

Kuzatuvchilar: 494

Vilkalar: 2 153

Ochiq masalalar: 0

Faxriy eslatmalarga CakePHP, Slim, FuelPHP, Phalcon kiradi. Ushbu ramkalar ko'pincha kichik hajmdagi dasturlarning orqa qismini ishlab chiqish uchun ishlatiladi.

Node.js

Node.js - bu Chrome-ning V8 JavaScript dvigatelida yaratilgan JavaScript ish vaqti. U voqealarni boshqaradigan, blokirovka qilinmaydigan I / O modelidan foydalanadi, natijada ilovalarni yuklash uchun engil va samarali platforma mavjud. To'plamdagi ekotizim, npm, ochiq manbali kutubxonalarning eng katta ekotizimidir. PHP cheklanganligi sababli (masalan, asinx jarayonlari), Node.js tezda PHP-ning bozor ulushiga kirib bormoqda. Bundan tashqari, Node hamjamiyati platformani ishlab chiqarishda raqobatbardosh bo'lgan vositalarni, tarkibiy qismlarni va kutubxonalarni qo'shish bilan mashhur.

Reysda yoqut

Rails - bu Ruby-da yozilgan to'liq MVC-tizim tomoni. U standart ma'lumotlar bazasi tuzilishini, veb-xizmatlarni va veb-sahifalarni taqdim etadi. Ma'lumot uzatish JSON va XML tomonidan boshqariladi va sahifalar HTML, CSS va JavaScript-da taqdim etiladi. Ruby on Rails dasturni tezkor ishlab chiqish uchun uzluksiz ma'lumotlar bazasi jadvallarini yaratish, ko'chirish va ko'rinishlar oralig'ini taklif qiladi.

Python

Python - bu umumiy maqsadli dasturlash uchun yaratilgan yuqori darajadagi talqin qilingan til. Ammo, til ma'lumotlar loyihalari loyihalari va mashinalarni o'rganish uchun qo'llaniladigan dasturlar uchun yaxshiroq ma'lum. Oqlangan sintaksis ishlab chiquvchilarga kamroq satrlarda ko'proq gapirishga imkon beradi.

Stack Overflow ishlab chiquvchilarining so'roviga ko'ra, Python endi PHP-ga qaraganda tez-tez ommalashib bormoqda, bu tezkor qabul qilish darajasi bilan. Endi dasturiy ta'minotni ishlab chiquvchilar Python-dan foydalanib, murakkab ma'lumotlar tizimlari va dizaynlarini tahlil qilishlari va yaratishlari mumkin. Bundan tashqari, Django va Flask kabi Python asoslari veb-ilovalarni ishlab chiqish jarayonini soddalashtiradi.

Backend skriptlaringizni joylashtiring

Siz dasturning orqa tomonini yozishni tugatganingizdan so'ng, keyingi vazifa - to'g'ri hosting echimini topish. Men har doim bag'ishlangan yoki VPS serverlarini tavsiya qilaman. Bundan tashqari, siz Docker kabi konteyner echimlaridan foydalanishingiz va avtomatlashtirilgan tarqatish retseptlarini yaratishingiz mumkin. DigitalOcean, Linode, AWS, Google Cloud va Azure ham ajoyib tanlovdir. Ammo, agar siz serverni boshqarish juda qiyin deb o'ylasangiz, Cloudways PHP veb-xosting kabi PAAS echimlarini tanlang.

Backend dasturchisi bo'lish uchun yo'l xaritasi

Orqa fonni yaratish oson ish emas. Ishlashda murosasiz xavfsiz (himoyasiz) va mustahkam arxitekturani yaratishingiz kerak. Turli funktsiyalarni qo'shish uchun API va tashqi skriptlarni birlashtirish kerak. Bularning barchasi ishlab chiqish va kod yozish bo'yicha eng yaxshi amaliyotlarni kuzatish paytida amalga oshirilishi kerak. Agar bu sizni qiziqtiradigan narsa bo'lsa, bu erda rokstarni yaratuvchisi bo'lish uchun batafsil yo'l xaritasi.

P.S .: Iltimos, ushbu maqolani yoqtirgan bo'lsangiz, Retweet qiling va meni Twitter va / yoki Medium-da kuzatib borishdan qo'rqmang. ;-) o'qiganingiz uchun tashakkur.