Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Jak používat Python s Javou dohromady?

Aktivity
Avatar
Pavel Klimeš:1.6.2020 21:37

Ahoj, chtěl bych se zeptat. Jak používat Python a Javu dohromady (Nechci Jyhton). Chci udělat aplikaci a použít tam Python a Javu. Kdyby jste mi někdo dokázal vysvětlit, jak udělat program kde použijeme např. Java Frontend a Python Backend, byl bych moc vděčný. Děkuji.

 
Odpovědět
1.6.2020 21:37
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:5.6.2020 8:37

google = java with python program
"Integrating Python with Java - JAXenter"

How can you best use Java and JPython together?

There are several reputable tools that implement Python in Java or vice versa, so that you can execute one language’s commands in the other. Here is a quick list of some of the top-rated Python + Java integration tools:

Jython – Python implemented in Java
JPype – Allows Python to run java commands
Jepp – Java embedded Python
JCC – a C++ code generator for calling Java from C++/Python
Javabridge – a package for running and interacting with the JVM from CPython
py4j – Allows Python to run java commands.
voc – Part of BeeWare suite. Converts python code to Java bytecode.
p2j – Converts Python code to Java. No longer developed.


Ja si myslim, ze je to podobne jako u kombinovani php a c++.
zkompilujes c++ kod, pomoci cmd prikazu: g++ say-hello.cpp -o say-hello.out

<?php
$data = '
#include
using namespace std;
int main(int argc, char *argv[])
{
    if(argc != 1) {
        cout << "Hello, " << argv[1] << endl;
    } else {
        cout << "Please pass me your name!" << endl;
    }
    return 0;
}
';
file_put_content('say-hello.cpp', $data) // ulozis
shell_exec('g++ say-hello.cpp -o say-hello.out') // zkompilujes
echo shell_exec('./say-hello.out CryptLife') // spustis + echo zobrazi vysledek

A nebo, jestli uz ho mas zkompilovany, tak ho jen spustis, poslednim radkem.


Druha moznost je to, co zminujes pouzivat programovy kod obou jazyku, to asi umoznuje ten Jython.

Editováno 5.6.2020 8:39
 
Nahoru Odpovědět
5.6.2020 8:37
Avatar
Odpovídá na Pavel Klimeš
Lubomír Pařil:8.6.2020 0:13

Vůbec mne nenapadá, proč by někdo chtěl něco takového dělat.? Jediný způsob, jaký mne napadá:

  • Program 1 pošle dotaz na URL programu 2
  • Program 2 vygeneruje data na základě dat z URL v jasně stanoveném formátu - např. v JSON, XML...
  • Program 1 data vyhodnotí a prezentuje

Stále by ovšem šlo o 2 oddělené programy.
Jinak si nedovedu představit, proč by někdo vytvářel jednu aplikaci s pomocí dvou backend jazyků. Spíše mne napadá, že pro udržitelnost takové aplikace by bylo nutné zpracovávat o dost propracovanější dokumentaci, aby se z toho člověk nezbláznil, když bude chtít dělat nějaké úpravy a nedej Bože aplikaci dále rozšiřovat.

Nahoru Odpovědět
8.6.2020 0:13
Motto netto vs brutto
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.