Care este diferența dintre un cadru, o platformă și o tehnologie?


Cel mai bun răspuns

O platformă este o soluție completă și unică all-in-one pentru o o gamă largă de probleme. La fel ca platforma .NET sau platforma Windows sau diverse soluții de platformă ca serviciu bazate pe cloud (cum ar fi Heruko). O platformă vine cu un număr destul de mare de instrumente și, probabil, diferite componente, acoperind game largi (persistență, securitate, concurență etc etc). O platformă vă oferă aproape tot ce aveți nevoie pentru a vă construi sistemul. O platformă vine cu un set preselectat de tehnologii (și paradigme) alegeri ca ceea ce ar trebui să utilizați. Uneori înlocuibilă (de exemplu, puteți alege o bază de date diferită, cu totul în afara opțiunilor platformei pentru stocarea datelor) și alteori nu (nu puteți spune Linux cum să gestioneze sistemul de fișiere). Unele părți ale platformei sunt de nivel foarte scăzut și este puțin probabil să aveți vreodată nevoie să interacționați direct cu ele (cum ar fi programarea în Linux Kernel), dar unele părți sunt de nivel înalt și interacționați cu ele în mod regulat (MySQL în platformele LAMP). -tehnologii bine-împreună din surse diferite. La fel ca LAMP (Linux, Apache, MySQL și PHP), dar uneori o platformă produce propria versiune a tehnologiilor, special concepute pentru a funcționa bine cu celelalte părți ale aceleiași platforme, dar nu destul de bine cu alte platforme (.NET). O platformă este un lucru care stă la baza, un furnizor de servicii. Lucrurile rulează pe partea de sus a platformelor lor.

Un cadru utilizează (folosește caracteristicile furnizate de) platforma (platformele) de bază a găzdui terminați slujba. Un cadru este un instrument pentru dezvoltatori pentru a lipi împreună diferitele părți ale logicii. Aproape întotdeauna un cadru oferă abstracții asupra diferitelor părți ale platformei subiacente.

Puteți rula multe cadre deasupra unei platforme sau puteți rula același cadru pe platforme diferite. De exemplu, un cadru PHP (să spunem Laravel sau Symphony) poate fi rulat atât pe Windows, cât și pe Linux (platforme). Sau Spring (Java framework) necesită o platformă Java pe care o puteți rula pe Windows și Linux (aici sunt implicate două niveluri de platforme).

Uneori nu este clar ce face din ceva o platformă. În exemplul de mai sus, unii oameni ar susține că mediul PHP în sine este o platformă, astfel încât Symphony (un cadru) necesită de fapt două platforme de bază: PHP + Windows / Linux. Alții ar spune că PHP în sine nu este suficient de mare pentru a crea o platformă, este doar un mediu de execuție (cum ar fi Java), dar acești oameni ar numi Java o platformă completă.

Cred că am făcut-o și mai rău!

Răspuns

Ori de câte ori cineva decide să dezvolte un site web, prima întrebare tehnică la care să răspunzi este ce platformă să folosești. Cadrul va fi specific platformei și va sta deasupra acestuia. Tehnologia este combinația dintre platformă, cadru și arhitectura serverului.

PLATFORM

PHP, JAVA, .NET sunt exemple de platforme sau platforme de dezvoltare. Acesta devine nucleul aplicației web. Dezvoltatorii lucrează pe platformă.

FRAMEWORK

Framework este un set de funcții și clase predefinite pe care dezvoltatorul le folosește mai repede dezvoltare. MVC este un tip de cadru. Exemple populare în PHP ar fi CodeIgniter, CakePHP și Zend Framework. Framework vă oferă un set de instrumente care vă ajută să scrieți codul mai repede și mai bine.

TEHNOLOGIE

Tehnologia este combinație de platformă, cadru și stivă de servere în ansamblu. Deci, dacă cineva întreabă ce tehnologie a fost utilizată pentru site-ul web, răspunsul poate fi platforma este PHP, cadrul este Zend, frontendul este HTML5 și CSS3, serverul web utilizat este Apache, baza de date este MySQL și așa mai departe.

Lucrați pe o platformă. Folosiți un cadru. Aceasta este diferența conceptuală. Există multe răspunsuri acolo, am încercat să-l păstrez simplu și specific domeniului web. Sper că acest lucru vă va ajuta!

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *