SW pre Linux aj Windows

Sekcia: Programovanie 18.04.2017 | 07:51
Avatar fela   Návštevník

Ahojte,

potrebujem poradiť pri výbere programovacieho jazyka pre aplikáciu, ktorá pobeží na GMU/Linuxe a aj Windowse. Bude sa jednať o aplikáciu, ktorábude čítať dáta (po LANe) z hardvérového zariadenia a tie bude archivovať a zobrazovať. V minulosti (= 10 rokov dozadu) som niečo podobné riešil pre Windowsy ešte v Delphi. A teraz chcem, aby to bolo spustiteľné pod GNU/Linuxom i Windowsom. Pred dvomi rokmi som nejakú vec (tiež išlo o chrústanie dát, ale zo starého zariadenia po RS485) naprogramoval (bez GUI) v C, ale pri prenose na Windows som sa pekne zapotil (MinGW atď., kdejaké chybové hlásenia, ...).

Preto by som teraz chcel použiť niečo, čo je cross-kompilovateľné bez obtiaží. Nechcem, aby zbytočne sa používal vo Windowse nejaký virtuálny počítač, veď ten OS má dosť čo robiť so samým sebou ;)

Uvažoval som, či nepoužiť Lazarus, alebo Javu. V Lazaruse som nikdy nerobil, ale pred 10 rokmi v tom Delphi, takže to by nemusel byť žiadny problém. V Jave som kde-čo robil, ale iba pre Linux, a behalo to v termináli. Takže ak aj niekto používate Javu, prosím o návrh na nejaké IDE, v ktorom sa GUI dá jednoducho vytvoriť, a ktoré po kompilácii pre OS Windows bude fungovať. Ja osobne som dlhoročný používateľ EMACSu, takže IDE, ktoré umožňuje použitie externého editora, by bolo super. Ale nie je to podmienka, samozrejme.

Vďaka vopred za tipy.

    • RE: SW pre Linux aj Windows 18.04.2017 | 10:24
      Avatar Juraj Artix - OpenRC - i3  Používateľ

      Ja by som vyskúšal Python.

      Happy falling
    • RE: SW pre Linux aj Windows 18.04.2017 | 18:47
      Avatar Baky Linux Mint 20 a Deepin 20  Používateľ

      Python by som asi pouzil aj ja, ale nezatracoval by som ani Lazarus, taktiez sa mozes pozriet na Gambas

      http://www.itkids.sk/
    • RE: SW pre Linux aj Windows 18.04.2017 | 18:54
      Avatar bedňa LegacyIce-antiX  Administrátor

      Na toto neexistuje jednoznačná odpoveď, ale to si asi čakal. Lazarus a Java určite nieje zlá voľba. No dá sa súhlasiť s Jurajom a Pythonom, k tomu použiť QT Designer na naklikanie dizajnu aplikácie.

      Java je komplikovanejšia, hlavne čo sa týka tých serepetičiek okolo, tak mi nikdy neprirástla k srdcu. Pre Python neexistuje funkčné (slobodné) RAD/IDE, takže si budeš musieť naklikať výzor v QT Designeri a potom použiť nejaké IDE, kde si doprogramuješ funkčnosť. Lazarus som nezapol roky, ale je to slušné multiplatformné RAD. Teda ešte k Pythonu, Monkey Studio sa približovalo ideálu, ale ten projekt bohužiaľ umiera, no pre QT4 v ňom asi najľahšie naklikáš a spojazdníš aplikáciu. """Otázka do publika, prečo vlastne Monkey Studio umrelo?""" V distribúciach je stále podporované.

      Potom je tu ešte Gambas, ale ten mal problém s behom Windows, na čom sa robí, ale netestoval som to.

      Mono Develop je dnes najlepšie RAD pod Linuxom aj Windows, ale zas je to celé pod taktovkou Microsoftu, čo veľa ľuďom vadí. Naozaj to majú vymakané, tak záleží ako ti nejaké tá mantra bude vadiť. Je to plne open source.

      Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
    • RE: SW pre Linux aj Windows 18.04.2017 | 23:56
      Avatar mark   Používateľ

      Hlasujem za Qt. Navyše Qt už dávno nie je len o oknách. Python alebo C++ to je viac o tom, v čom sa cítiš doma. Ak na rovnako, tak python.

      http://doc.qt.io/qt-5/qtnetwork-programming.html

    • RE: SW pre Linux aj Windows 19.04.2017 | 09:24
      Avatar Richard Antix  Používateľ

      Ďakujem pekne za odpovede. Teraz som ešte viac zmätený, pan veľkomožný. Zrejme skúsim najpr ten lazarus, potom uvidím, aké to bude robiť obštrukcie prí čítaní z portov.

      Každopádne, jak skvelé, jednoduché a efektívne je spraviť niečo v linuxovej konzole, a ako sa to komplikuje, ak to má mať GUI niekde vo Win. :(

    • RE: SW pre Linux aj Windows 04.05.2017 | 08:56
      Avatar Richard Antix  Používateľ

      Tak - spravil som prvý nástrel v Lazaruse (alebo Lazarovi?) - ale trochu fušersky, pretože čítanie zo siete (nakoniec nebude čítať z USB, ale z LAN) som spravil v bashi a lazarus to na pozadí volá. Funguje to, takže sa to môže doladiť, resp. nejaká knižnica v Lazaruse to môže zvládnuť, aby som nemusel na Win inštalovať cygwin (s ktorým to ide pekne)....

      • RE: SW pre Linux aj Windows 04.05.2017 | 09:36
        Avatar samalama.   Návštevník

        mozes nam prezradit, ktoru "funkciu" bash-u pouzivas na "citanie zo siete"...?

    • RE: SW pre Linux aj Windows 04.05.2017 | 10:52
      Avatar Richard Antix  Používateľ

      ej možno som to nazval moc vznešene, jedná sa o tento skript:

      #!/bin/bash
      ((echo "USER xxx@xxx.xx"; sleep 3;  echo "PASS xxxxxx"; sleep 3; echo "list"; sleep 3; echo "quit" ) | telnet
       mail.xxxx.xx 110) > kontr_vystup.txt 2> /dev/null
      
      if grep "0 mess" kontr_vystup.txt; then 
          echo ""
       
      else 
         sed -n '7p' < kontr_vystup.txt
      fi
      

      • RE: SW pre Linux aj Windows 04.05.2017 | 14:39
        Avatar samalama.   Návštevník

        teraz neviem, ci sa smiat, ci plakat.

        btw, a kde je ta platformova nezavislost...?

        • RE: SW pre Linux aj Windows 04.05.2017 | 15:32
          Avatar WlaSaTy   Návštevník

          Nepredpokladal som že poznáš produkty ako cygwin a lebo aj napríklad Ubuntu pre Windows 10. A nesklamal som sa.

          • RE: SW pre Linux aj Windows 04.05.2017 | 16:19
            Avatar samalama.   Návštevník

            :D :D :D ano, to je typicky priklad multiplatformosti. tak to potom aj photoshop je multiplatformovy, lebo ho spustim v linuxe pod wine... :D :D :D

            daj este jeden :D

        • RE: SW pre Linux aj Windows 05.05.2017 | 18:21
          Avatar Richard Antix  Používateľ

          Ale nieže tak. Tento skript volá program v Lazaruse, ktorý zistí správy od pripojeného zariadenia, ktoré loguje hmotnosť - či teda nastala zmena za n hodín a potom ďalší skript stiahne dáta a program v Lazaruse ich zobrazí a eviduje a plní databázu a ešte ich kdejako porovnáva atď. Takže ten program v Lazaruse je multiplatformový. A keďže som nemal zatiaľ čas čítať tie dáta nejakou knižnicou, tak som to len dal takto cez bash, resp. bash v cygwine. Poneváč je stále len počiatočná kdejaká skúšobná verzia.

          • RE: SW pre Linux aj Windows 05.05.2017 | 19:44
            Avatar WlaSaTy   Návštevník

            Ty máš váhu čo ti zasiela hmotnosť objektu pomocou emailu? Tsss, veď unity na pop3 by mali byť bežne dostupné. Ale ak to funguje, tak nie je o čom.

            • RE: SW pre Linux aj Windows 06.05.2017 | 08:18
              Avatar Richard Antix  Používateľ

              Cez mail ide len notifikácia, samotný prenos dát je v rámci siete (váha ma pevnú IP samozrejme) cez http port. Zrejme unity na pop3 sú, len som chcel čo najskôr rozbehať hardvér, zabezpečiť principiálnu funkčnosť, a následne je čas na dolaďovanie. Hlavne som nevedel, či je ozaj ten cross-compiling taký bezbolestný. Zatiaľ je.

              • RE: SW pre Linux aj Windows 06.05.2017 | 08:25
                Avatar WlaSaTy   Návštevník

                Cross compiling môže byť pre začiatočníka pôrod. Ale ak vezmeš zdrojáky, prenesieš ich ako projekt do identického vývojárskeho prostredia pod iným OS, tak je to bezproblémové. Ak ovšem nepoužívaš OS špecifické funkcie, čo ty určite nepoužívaš. Konštanty typu predvolený názov sériového portu sa dajú poriešiť cez napríklad makrá preprocesoru, ak to stojí za to.

    • RE: SW pre Linux aj Windows 16.05.2017 | 16:43
      Avatar XMen   Návštevník

      Ja ti mozem silne odporucit Javu. Prakticky na vsetko co by si mohol potrebovat ma minimalne kniznicu. Ak vsak planujes pracovat s nejakym HW tak narovinu hovorim, ze z multiplatformovostou sa rozluc a to nehovorim o jave ale vseobecne.