• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tworzenie aplikacji w różnych językach

Cloud VPS
0 głosów
868 wizyt
pytanie zadane 7 czerwca 2015 w Rozwój zawodowy, nauka, praca przez Waszek Gaduła (4,130 p.)
Witajcie! :)

Mam małe pytanko, słyszałem kiedyś o tworzeniu aplikacji w kilku językach jednocześnie, tzn. różne części były tworzone w różnych językach i potem scalone w całość. Może macie jakieś materiały, stronki, książki, cokolwiek, może własne doświadczenie, jak to rzeczywiście wygląda? Wujek google niestety nic sensownego mi nie podrzucił :)

Dzięki mistrzowie ;)

4 odpowiedzi

+1 głos
odpowiedź 7 czerwca 2015 przez Comandeer Guru (607,100 p.)
Pewnie zainteresuje Cię temat bindingów. Np. trzon aplikacji jest napisany w JS (node.js/io.js), ale część rzeczy jest realizowana przez bibliotekę zewnętrzną napisaną w C. Żeby to ładnie połączyć należy naskrobać tzw. bindingi: http://syskall.com/how-to-write-your-own-native-nodejs-extension/

Podobną rzecz robi się przy aplikacjach w XUL-u, np. tak działa GG (interfejs to XUL, a obsługa protokołu jest realizowana przez dll-kę).

Jest jeszcze coś takiego, jak Foreign Function Interface, który pozwala tworzyć takie bindingi w locie, np: https://github.com/node-ffi/node-ffi
+1 głos
odpowiedź 7 czerwca 2015 przez hit02 Nałogowiec (33,970 p.)
Jeśli języki są interpretowane (Java, C#, Python...), to może być problem, bo platworma musi to wspierać, ale języki natywne możesz skompilować do plików obiektowych i wtedy linkowac razem lub stworzyć biblioteki dll i wywoływać funkcje z tych bibliotek.
0 głosów
odpowiedź 7 czerwca 2015 przez Waszek Gaduła (4,130 p.)
O to chyba mi właśnie chodziło ;) Dzięki chłopaki ;)
0 głosów
odpowiedź 7 czerwca 2015 przez draghan VIP (106,230 p.)

Jeszcze do tematu dopowiem, że jeśli piszesz kod kompilowany do natywnego, np. w C++, to możesz w takiej aplikacji osadzić język skryptowy, np. Squirrel, aby móc łatwiej rozwijać taką aplikację, jako całość.

Jak dobrze to wszystko zrealizujesz, to piszesz tylko 'ogólny' silnik aplikacji w C++, a resztę oskryptowujesz.

Plusy takiego rozwiązania?

Rzeczy, które mają być wykonane z uwzględnieniem wydajności, koduje się zwykle w aplikacji-hoście, co zapewnia im właśnie odpowiednią szybkość działania. Umieszczenie czegoś "poza rdzeniem" aplikacji umożliwia szybsze wprowadzanie zmian - nie musisz każdorazowo kompilować na nowo programu, jeśli zmienisz coś w skrypcie.
Ba - jak dobrze pokombinujesz, będziesz mógł wprowadzać zmiany w trakcie działania programu. :) Ale to już jest inna bajka, tzw. meta-programming.

Poza tym - języki skryptowe zazwyczaj są łatwiejsze (wyższego poziomu), niż kompilowane do kodu natywnego - czyli hipotetycznie więcej ludzi (mniej wykwalifikowanych) może pracować nad rozwojem aplikacji.

No i jeszcze jedna bardzo ładna zaleta stosowania skryptów - daje możliwość tworzenia wtyczek, czy też modów przez społeczność użytkowników. :)

Podobne pytania

0 głosów
0 odpowiedzi 1,041 wizyt
pytanie zadane 1 czerwca 2020 w C i C++ przez Majster6918 Gaduła (4,030 p.)
+2 głosów
1 odpowiedź 392 wizyt
pytanie zadane 20 października 2019 w Inne języki przez 12332112332121 Dyskutant (8,270 p.)
+3 głosów
2 odpowiedzi 519 wizyt

93,483 zapytań

142,417 odpowiedzi

322,763 komentarzy

62,895 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...