Opublikowano Dodaj komentarz

Platforma kontra Framework

w ciągu ostatnich 30 dni miałem przyjemność pracować w kontekście projektu openinterface, pisząc dokument, który określa, jak platforma będzie kontynuowana po zakończeniu projektu. Myśleli, że mogę pomóc z powodu doświadczenia mylong ze społecznością open source. W rzeczywistości było to wspaniałe doświadczenie z trudnymi i przyjemnymi chwilami. Najbardziej ekscytujące było w Porto, w Portugalii, na granicy rzeki, kiedy znalazłem inspirację do napisania zabójczych zdań.

podczas opracowywania tego dokumentu Wiele osób z projektu przedstawiło wkłady, komentarze, krytykę, co było niezbędne, aby uzyskać lepszy wynik na koniec. Ale jeden z nich zwrócił moją uwagę. Jeden z autorów poprosił, aby zmienić termin „platforma” na „framework”, co było zabawne, ponieważ nazwa”platforma” jest rozpowszechniona w wielu innych dokumentach i na stronie internetowej. Jeśli ktoś miał jakieś podstawy do zaproponowania tej zmiany, to czym one są? Następnie postanowiłem przeprowadzić krótkie badania na temat różnicy między obydwoma pojęciami i najlepszym miejscem do rozpoczęcia jest oczywiście słownik.

słowo „platforma” ma wiele znaczeń, w tym informatykę. W Cambridge English Dictionary:

„Platforma opisuje typ systemu komputerowego, z którego korzystasz, w związku z rodzajem oprogramowania, z którego możesz korzystać.”

jest to bardzo ogólna definicja, która w ogóle mi nie pomaga. Udałem się więc do towikipedii, gdzie znalazłem definicję bez alertu o jej źródłach:

„w informatyce Platforma opisuje pewien rodzaj architektury sprzętowej lub struktury oprogramowania (w tym struktury aplikacji), które umożliwiają uruchamianie oprogramowania. Typowe platformy obejmują architekturę komputera, system operacyjny, języki programowania i powiązane biblioteki uruchomieniowe lub graficzny interfejs użytkownika.”

O Boże! Wymienia ramy definicji platformy. Czy to jakaś definicja? Przejdźmy do definicji frameworka:

„framework oprogramowania jest projektem nadającym się do ponownego użycia dla systemu oprogramowania (lub podsystemu). Struktura oprogramowania może obejmować programy pomocnicze, biblioteki kodu, język skryptowy lub inne oprogramowanie, które pomaga rozwijać i łączyć różne elementy projektu oprogramowania. Różne części frameworka mogą być ujawnione poprzez API.”

cóż, lepiej! Przeanalizujmy różnice. Po pierwsze: Framework odnosi się tylko dooprogramowania i całkowicie ignoruje sprzęt. Tak więc, jeśli pracujesz ze sprzętem, nigdy nie będzie miał RAM. Po drugie: platforma umożliwia uruchamianie oprogramowania, co nie jest wymogiem ramowym, ponieważ jest bardziej skoncentrowana na projektowaniu. Na przykład Java jest platformą, ponieważ ma maszynę Wirtualną, która pozwala Javaaplikacje działać w wielu systemach operacyjnych. Z drugiej strony Spring jest ramowy, ponieważ upraszcza sposób projektowania oprogramowania, biorąc pod uwagę możliwość wielu rzeczy, aby zmniejszyć wysiłek i objętość kodu potrzebnego do wdrożenia aplikacji. Tak więc platforma nie ma na celu oszczędzania czasu, ale daje jedną lub więcej możliwości uruchomienia aplikacji.

Wracając do sedna dyskusji, odbyłem długą rozmowę z głównym twórcą OpenInterface (OI), Lionelem Lawsonem i doszliśmy do wniosku, że jest to jednocześnie platforma i framework. Oznacza to, że gdyplatform, OI można uruchomić aplikację na nim. Gdy framework, Twoja aplikacja może korzystać z API OI, aby uzyskać dostęp do innych komponentów. Następnie doszliśmy do wniosku, że OI jest właściwie technologią, która jest bardziej ogólna i rozwiązuje wiele problemów integracyjnych między komponentami niskiego poziomu.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.