Jaka jest różnica między frameworkiem, platformą i technologią?


Najlepsza odpowiedź

Platforma to kompleksowe i swego rodzaju kompleksowe rozwiązanie dla bardzo szeroki zakres problemów. Na przykład platforma .NET lub platforma Windows lub różne rozwiązania typu Platform-as-a-service w chmurze (takie jak Heruko). Platforma zawiera wiele narzędzi i prawdopodobnie różnych komponentów, obejmujących szeroki zakres (trwałość, bezpieczeństwo, współbieżność itp.). Platforma zapewnia prawie wszystko, czego potrzebujesz do zbudowania systemu. Platforma ma wstępnie wybrany zestaw technologii (i paradygmatów) do wyboru, które mają być używane. Czasami wymienna (na przykład możesz wybrać inną bazę danych, całkowicie poza wyborem platformy do przechowywania danych), a czasami nie (nie możesz powiedzieć Linuksowi, jak zarządzać systemem plików). Niektóre części platformy są bardzo niskiego poziomu i jest mało prawdopodobne, że kiedykolwiek będziesz musiał wchodzić z nimi w bezpośrednią interakcję (jak planowanie w jądrze Linuksa), ale niektóre części są na wysokim poziomie i regularnie z nimi współpracujesz (MySQL na platformach LAMP). Czasami platforma jest niczym innym jak pakietem niepowiązanych, ale -dobrze połączone technologie z różnych źródeł. Jak LAMP (Linux, Apache, MySQL i PHP), ale czasami platforma tworzy własną wersję technologii, specjalnie stworzoną tak, aby dobrze współpracowała z innymi częściami tej samej platformy, ale niezbyt dobrze z innymi platformami (.NET). Platforma to podstawowa rzecz, dostawca usług. Rzeczy działają na ich platformach.

Framework wykorzystuje (wykorzystuje funkcje dostarczane przez) platformę (y) bazową (-e) do accom Wykonaj pracę. Framework to narzędzie dla programistów do sklejania różnych części logiki. Prawie zawsze framework zapewnia abstrakcje dla różnych części platformy bazowej.

Możesz uruchomić wiele frameworków na platformie lub możesz uruchomić ten sam framework na różnych platformach. Na przykład framework PHP (powiedzmy Laravel lub Symphony) może działać zarówno na Windows, jak i na Linuksie (platformy). Lub Spring (framework Java) wymaga platformy Java, którą można uruchomić zarówno na Windowsie, jak i na Linuksie (chodzi tutaj o dwa poziomy platform).

Czasami nie jest jasne, co sprawia, że ​​coś jest platformą. W powyższym przykładzie niektórzy twierdzą, że samo środowisko PHP jest platformą, więc Symphony (framework) w rzeczywistości wymaga dwóch bazowych platform: PHP + Windows / Linux. Inni powiedzieliby, że sam PHP nie jest wystarczająco duży, aby stworzyć platformę, jest to po prostu środowisko wykonawcze (jak Java), ale ci sami ludzie nazwaliby Javę kompletną platformą.

Myślę, że jeszcze gorzej!

Odpowiedź

Kiedy ktoś decyduje się na stworzenie strony internetowej, pierwszym pytaniem technicznym, na które należy odpowiedzieć, jest to, której platformy użyć. Framework będzie specyficzny dla platformy i będzie na nim siedział. Technologia to połączenie platformy, struktury i architektury serwera.

PLATFORMA

PHP, JAVA, .NET to przykłady platform lub platform programistycznych. To staje się rdzeniem aplikacji internetowej. Programiści pracują na platformie.

FRAMEWORK

Framework to zestaw predefiniowanych funkcji i klas, których programista używa do szybszego rozwój. MVC to rodzaj frameworka. Popularne przykłady w PHP to CodeIgniter, CakePHP i Zend Framework. Framework zapewnia zestaw narzędzi, które pomogą Ci pisać kod szybciej i lepiej.

TECHNOLOGIA

Technologia jest połączenie platformy, frameworku i stosu serwerów jako całości. Jeśli więc ktoś zapyta, jaka technologia została użyta w witrynie, odpowiedź może brzmieć: Platforma to PHP, framework to Zend, frontend to HTML5 i CSS3, serwer WWW to Apache, Baza danych to MySQL i tak dalej.

Pracujesz na platformie. Używasz struktury. Na tym polega różnica pojęciowa. Istnieje wiele odpowiedzi, staram się, aby wszystko było proste i dotyczyło konkretnej domeny internetowej. Mam nadzieję, że to pomoże!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *