Podłącz

W obliczeniowej , A korek lub plug-in , zwana też korek , korek , przeszczep , korek , i że dodatek lub dodatek w Francji , to oprogramowanie dostosowane do szczepienia do innego programu poprzez interfejs przewidzianym do tego celu, i zapewnić tym ostatnim nowe funkcjonalności.

Określenie wtyczki pochodzi z metafory o znormalizowanej gniazdka elektrycznego , i podkreśla fakt, że oprogramowanie hosta jest przystosowany do oprogramowania, które rozszerza jego funkcjonalność, w przeciwieństwie do nieprzewidzianych dodatków początkowo wykonanych za pomocą łatki .

Przez większość czasu wtyczka:

Terminologia

Termin wtyczka lub wtyczka (wymawiane / p l ʌ g .n / ) pochodzi od czasownika angielskiego to plug in , co oznacza "połączyć".

Termin ten jest anglicyzmem , wiele francuskich terminów zostało zaproponowanych w celu jego zastąpienia: moduł rozszerzenia ( termin zalecany we Francji przez DGLFLF i Wspólnotę Francuską Belgii ), moduł zewnętrzny , wtyczka lub nawet wtyczka . (termin zaproponowany przez Office québécois de la langue française w 1996 r. i zatwierdzony przez Académie française w 2009 r. ). Krótka forma „rozszerzenie” zaakceptowana przez DGLFLF może prowadzić do pomyłek z rozszerzeniem nazwy pliku lub rozszerzeniem oprogramowania , które mają inne znaczenia.

Cele

Nie każde oprogramowanie może działać za pomocą wtyczek , dane oprogramowanie musi być zaprojektowane tak, aby było w stanie komunikować się z programami zewnętrznymi zgodnie z pewnymi zasadami, których te ostatnie muszą przestrzegać, aby mogły wymieniać informacje. Celem autorów decydujących się na zaprojektowanie tego rodzaju oprogramowania jest możliwość dodawania funkcjonalności bez konieczności przeprogramowywania wszystkiego, a także umożliwienie użytkownikom samodzielnego dodawania własnych funkcjonalności. W idealnej sytuacji ta niezależność obejmuje możliwość ewolucji głównego oprogramowania przy jednoczesnym zachowaniu kompatybilności z istniejącymi wtyczkami ; jednak warunek ten nie zawsze jest spełniony.

Korzyści

Modułowa architektura oprogramowania

Wtyczka może być również podstawą modułowej architektury oprogramowania , jak ma to miejsce w przypadku Eclipse platformy i OSGi wiązek .

W statycznych architekturach oprogramowania zaimplementowana struktura jest definiowana przed uruchomieniem programu (np. w pliku konfiguracyjnym ). Na przykład, PHP interpreter języka można załadować wtyczki (aby uwzględnić ZIP formatu , aby umożliwić dostęp do bazy danych MySQL ,  itd. ) W zależności od potrzeb opisanych w pliku inicjującym ( php ini ).

W prawdziwie dynamicznych architekturach to aplikacja sama identyfikuje obecne wtyczki , często badając pliki znalezione w katalogu poświęconym wtyczkom . Dodawanie i usuwanie pozycji w katalogu włącza lub wyłącza odpowiednie wtyczki . Niektóre aplikacje umożliwiają uruchamianie i zatrzymywanie wtyczki podczas ich działania. Jest to określane jako gorącej lub ciepłej wtykowego konfiguracji . Zmiany te mogą zostać wywołane przez użytkownika lub podczas innego zdarzenia w aplikacji. Jednak tego typu architektura szybko staje się złożona ze względu na zależności, które mogą istnieć między wtyczkami . Aby zilustrować koncepcję architektury dynamicznej, możemy rozważyć systemy operacyjne , w których usługi systemowe są porównywalne z wtyczkami dodanymi i usuniętymi z jądra . Istnieje również pojęcie zależności, na przykład na poziomie łącza między usługą HTTP a usługą TCP/IP .

Samodzielny

Niektóre wtyczki mogą być również używane jako pełne oprogramowanie, mówimy, że są Standalone .

Przykłady

Wśród najczęstszych są te, które dodają obsługę niektórych formatów:

Do systemu Windows XP firma Microsoft oferowała powertoys , czyli wtyczki do systemu Microsoft Windows .

Niektóre dodatki do przeglądarek internetowych, takich jak Firefox czy Seamonkey (i inne z rodziny Mozilla ) są często określane jako wtyczki, ale nie są, są rozszerzeniami .

Wiele programów na platformę Gnome można rozszerzać za pomocą wtyczek . Warto zauważyć, że evince , eog , Nautilus i gedit , które oferują interfejs programistyczny w Pythonie do dodawania funkcji do oprogramowania (dynamicznie).

Odtwarzacz multimedialny VLC oferuje również interfejs programowania w Lua, aby dodawać (dynamicznie) funkcje, takie jak automatyczne pobieranie napisów lub tekstów piosenek.

Frameworki wtyczek

Kilka frameworków pozwala programistom na dodawanie do aplikacji wtyczek w różnych językach programowania .

Dla C ++ , jest FxEngine Framework , który umożliwia dane płyną przetwarzanie i Qt framework . Na Delphi The TMS Plugin Framework jest obsługiwany. Dla Javy oferowane są dwie wtyczki projektu Eclipse , Java Plugin Framework (JPF) i Rich Client Platform (RCP). W przypadku Pythona dostępnych jest kilka opcji: Setuptools , Hive ERP Framework, Sprinkles i Envisage . Istnieje również wiele frameworków dla .NET , takich jak Visual Assist , AL Platform, Mono Add-ins, Plux.NET i Managed Extensibility Framework . Wreszcie jest też Symfonia dla PHP .


Uwagi i referencje

  1. (in) „  Wtyczka  ” na lexico.com , Oxford English Dictionary (dostęp 5 lipca 2020 r . ) .
  2. Komisja ds. Wzbogacania Języka Francuskiego , „  moduł rozszerzeń  ” , FranceTerme , Ministerstwo Kultury (dostęp 5 lipca 2020 r . ) .
  3. „  Baza terminologiczna, domena IT  ” , serwis w języku francuskim Wspólnoty Francuskiej Belgii (konsultacja 30 września 2012 r . ) .
  4. "  plugiciel  " , Le Grand Dictionnaire terminologique , Office québécois de la langue française (dostęp 5 lipca 2020 r. )
  5. (w) Tutorials Point, „  Hive – Introduction  ” na tutorialspoint.com (dostęp 17 września 2020 )
  6. (w) Markus Jahn, Markus Löberbauer Reinhard Wolfinger i Hanspeter Mössenböck, „  Plux.NET – dynamiczna platforma wtyczek dla aplikacji desktopowych i internetowych w .NET  ” na ase.jku.at ,2012(dostęp 17 września 2020 )
  7. http://symfony.com/legacy/doc/jobeet/1_4/fr/20?orm=Propel

Zobacz również

Powiązane artykuły