PlayOnLinux 5 będzie napisany w Javie

PlayOnLinux 5 będzie napisany w Javie

przez -
55 4353
Gry
Deweloperzy aplikacji PlayOnLinux podzielili się ze wszystkim informacją, że rozpoczęły się już prace nad PlayOnLinux 5. Kolejna wersja ma zostać przepisana całkowicie od zera, co pozwoli na dodawanie nowych funkcji. Obecna odsłona programu jest na tyle przestarzała, że nie pozwala już na żadne zmiany w kodzie i dodawanie nowości. W trakcie rozmów pomiędzy programistami stwierdzono, że najlepszym językiem dla najnowszej wersji będzie Java. Uzyska się dzięki temu przenośność na wiele systemów operacyjnych, łatwość w zarządzaniu kodem, a także sporą liczbę nowych współpracowników.

Wbrew pozorom PlayOnLinux jest o wiele bardziej skomplikowany, niż by się mogło wydawać. Nie jest to zwykły interfejs graficzny, ale zestaw narzędzi pozwalających pisać potężne skrypty do uruchamiania gier, z wykorzystaniem Wine. Dlatego też cały główny kod zostanie napisany w Javie, z użyciem OpenJFX, a wszystkie skrypty pozostaną w Pythonie (dzięki Jython). Warto nadmienić, że w przeprowadzonych testach na stronie benchmarksgame.alioth.debian.org/u64q/python.html, Java okazała się być wielokrotnie szybsza, aniżeli Python.

Również dzięki Javie będzie możliwe zaimplementowanie kilku interfejsów graficznych, np. z użyciem Qt oraz GTK. Wartym nadmienienia jest fakt, ze OpenJFX posiada wbudowaną obsługę akceleracji graficznej, co powinno ułatwić wiele prac nad grami.

  • icywind

    Jak do brzmi, PlayOnLINUX będzie przenośny na inne systemy :P

    • tomangelo

      W końcu dzięki POL będę mógł grać w gry z Windowsa na Windowsie :D

    • icywind
    • Hans Landa

      W starszych grach jak np Diablo 1 może się to okazać użyteczne.

    • icywind

      Nie mówię tu o użyteczności bądź jej braku ale o tym, że sama nazwa mówi, że oprogramowanie służy do grania na Linuksie.

      Swoją drogą kiedyś rozmawialiśmy co będzie pierwsze domyślne Wayland czy Mir. Jak tam Mir? Bo GDM działa już domyślnie na Waylandzie (u mnie bez zarzutu) i jest planowany jako domyślny dla całego środowiska już w następnej Fedorze ;)

    • Hussar

      Pamiętam jak odpaliłem Rage of Mages na Wine (pod Debianem oczywiście), a guzik wyjściowym był “Powrót do Windows”. Oczywiście uznałem, że chodzi o xwindows.

    • To tylko nazwa. Edycja dla OS X nazywa się PlayOnMac, zatem czemu nie dokooptować jeszcze PlayOnWindows :-)

      Dawniej była nawet w dokumentacji Wine sekcja komplikacji dla Windows, jednakże nigdy nie testowałem owego rozwiązania. Nie wiem zatem, czy był w tym jakiś sens :-)

    • Rav-X

      To nie takie głupie by było, na Win 8.1 (i w przyszłości Win10) ciężko jest uruchomić sporą część starych gier. Oczywiście można zawalić system różnymi emulatorami, ale jakby powstał jeden program, taki np. PlayOnWindows z wszystkimi narzędziami do odpalenia starych gierek, to byłoby coś świetnego. Paradoksalnie obecnie wolę mieć do starych gierek Linuksa z POL i Wine niż Windowsa XP.

      Co do PlayOnLinux 5, czekam z niecierpliwością..

    • To prawda – sam mam kłopot z Gothic 1-2 na Windows 8.1. Starsze gry mają też często ramkę wokół, jakby były zmaksymalizowanym oknem. Windows nie rozwija szczególnie dynamicznie, jednak nawet tam trzeba czasem zerwać API, aby wprowadzić nowinki.

      Akurat mam takie szczęście, iż posiadam jeszcze stary PC z Windows 98, który przydał się już parokrotnie :-) Zgodzę się jednak z tym, że przydałaby się jakaś dodatkowa warstwa kompatybilności dla nowych Windows :-)

  • mikolajs

    Skoro OpenJFX to openjdk8, a na tym nie da się używać QJambi, które raczej już nie jest rozwijane. Pytanie po co komu w Javie Qt, skoro jest FX? Mieliby pisać kilka interfejsów graficznych uruchamiających pod spodem ten sam kod napisany w Javie? Trochę to przekombinowane.
    A po drugie to przecież sam PlayOnLinux nie jest silnikiem gier, więc co mają gry do akceleracji graficznej w OpenJFX?

    • Hussar

      W newsie jest napisane, że jest *możliwość* napisania kilku frintendów, w tym w Qt. Ale to nie znaczy, że to będzie w Qt.

  • Hans Landa

    Gorszego wyboru chyba nie mogli podjąć :P

    • Masz na myśli Javę? W przypadku aplikacji tego typu – nie jest to złe rozwiązanie.

    • marcinsud

      Bo? Java jest całkiem wydajna w swoich zastosowaniach. Gadanie o wadach javy miało średni sens 5 lat temu, a teraz to jest ośmieszanie samego siebie.

    • Hans Landa

      Python jest domyślnie zainstalowany w prawie każdym linuxie oraz macu. Java jest mniej popularna i więcej zajmuje miejsca. Jakoś mi się nie widzi jej instalować dla jednego programu szczególnie, że często robię reinstalację systemu. Jeśli chcesz więcej argumentów to zajrzyj na forum phoronix, tam jest duże negatywnych, uzasadnionych komentarzy.

    • mordesku

      Problem z pythonem jest taki że nie nadaje się do długoterminowych projektów. Jest super do małych pchełek i prototypowania. Jak chcesz coś rozwijać na dłuższą mete i chcesz mieć czytelny dobrej jakości kod to niestety python nie jest dobry. Przy dużym projekcie koszt (czasowy) modyfikacji jest dużo większy niż dla aplikacji napisanej w javie. A argument że trzeba sciągnąć jre ważące nawet 100MB w czasach gdzie kilku megabitowe łącza to standard to jakiś żart.

    • Hussar

      Problem nie jest łącze, tylko objętość paczki. Hans ma tylko 90mb wolnego miejsca na dysku, a Java po instalacji zajmuje minimum 130. Ja Go rozumiem.
      Ja z tego samego powodu nie używam Debiana. Bo tam podstawowym managerem pakietów jest Aptitude, a ten z kolei wymaga ncurses. Jakoś nie widzi mi się instalowanie ncurses tylko po to, żeby działał jakiś ich wymyślony manager pakietów, skoro i tak używam Synaptica. Nie wiem jak tego możecie nie rozumieć.Może zrobię analogię do jedzenia – nie jem kanapek, bo musiałbym kupić masło. Jakoś nie widzi mi się kupowanie masła tylko do kanapek.
      Jak dalej nic nie rozumiesz, to zaglądnij na forum gotujemy.com.net – tam jest dużo uzasadnionych, negatywnych komentarzy.

    • Hussar

      A teraz czas na kolejny dowcip z kategorii “Twoja Stara”:
      “Twoja stara pisze negatywne, uzasadnione komentarze na phoronixie.”
      “Twoja stara nie ma Javy”
      “Twojej starej się nie widzi.”
      “Twoja stara nie mogła podjąć gorszego wyboru.”
      “Twoja stara instaluje domyślnie Pythona w prawie każdym Linuksie oraz Macu.”

    • mordesku

      “Twoja stara wie lepiej jak rozwijać oprogramowanie”

    • Hans Landa

      ale śmieszne dowcipy opowiadasz. gdzie się takich nauczyłeś ? chyba w gimnazjum

    • Roman

      #polemizowałbym
      Problemem Pythona jest kiepskie wsparcie dla GUI. Qt5 nie jest w nim wygodne. A przynajmniej nie jest wygodniejsze niż pisanie w C++.
      Python 3 tylko skłonił takie projekty jak ten do wyboru języka.
      Java jest wyborem oczywistym, bo mimo wad jest bogata w standardowe biblioteki na każdą okazję.

    • Hans Landa

      większość ludzi nie ma w ogóle internetu a ty mówisz, że standardem są megabiteowe łącza… jakby te 100MB byłoby tak mało ważne to java byłaby preinstalowana.

    • mordesku

      jak większość ludzi nie ma internetu to jak niby ma skorzystać z playonlinux?

    • Hans Landa

      a no przecież zapomniałem, że wszyscy ludzie na ziemi muszą używać playonlinux, bez tego programu nie da się żyć! szczególnie murzynom w afryce ten program się przyda…

    • mordesku

      A o czym jest ten artykuł do kurwy nendzy o wyższości javy nad pythonem czy o playonlinux?

    • Hans Landa

      Widzę, że nie potrafisz pohamować emocji. Z takim słownictwem obniżasz poziom komentarzy w tym serwisie z niskiego na samo dno.

    • mordesku

      widze że zabrakło argumentów więc trzeba się dowalić do emocji. Odpowiesz na moje pytanie o czym jest artykuł? Bo w poprzednim komentarzu napisałeż że nie wszyscy chcą/muszą mieć playonlinux. Tylko nie wiem po co to napisałeś skoro artykuł raczej jest skierowany dla tych co chcą i to im może ewentualnie ta java nie pasować. Skoro i tak nie używasz to po co się wypowiadasz? Ci co nie używają playonlinux raczej mają w poważaniu w jakiej technologii powstaje.

    • marcinsud

      nie wierzę, że ktoś nie ma 150 MB na javę, a ma 70 i więcej GB na GTA 5 ;)

      W ogóle argument o tym, że coś trzeba ściągnąć z neta lub nie jest preinstalowane to najgorszy z argumentów jaki mógł paść. Jak ci się pojawi aktualizacja Qt też musisz ją ściągnąć. Ba masz distro z gnome/mate możliwe, że nawet nie masz Qt preinstalowanego. Masz chakre z KDE Gtk nie masz w oficjalnym repo.

      Ogólnie dyskusja sprowadza się do tego, że masz w kompie dysk 10 GB i nie podoba ci się, że aplikacja do konfiguracji gier (mających naście GB pojemności) na wine będzie zajmować 100 MB więcej. Ta aplikacja i tak nie jest dla ciebie w takim razie.

      Liczyłem na rzeczowe argumenty odnoszące się do użytych technologii, lepszych alternatyw przy prowadzeniu projektu itd.

    • Hans Landa

      GTA może ważyć sobie 70 giga bo to ogromna gra, a playonlinux to bardzo prosty program, który jedynie rozpakowuje wersje wine i je uruchamia komendami, a te “zaawansowane skrypty” polegają jedynie na wybraniu odpowiednich bibliotek. Program taki jak playonlinux powinien wymagać co najwyżej 10mb

    • marcinsud

      “Windows ma jeden standard i twórcy z niego korzystają zamiast wymyślać jakieś udziwnienia.”

      Na windowsa jest jeszcze więcej frameworków do GUI niż na linuksa. Sam Microsoft ma ich kilka przecież. Ba firmy tworzące własny soft używają swoich własnych frameworków. Aplikacji napisanych w win api jest bardzo mało.

    • Hans Landa

      te wszystkie framoworki podchodzą pod jeden standard. W Windowsie jest C++, Net i Directx. Autorzy oprogramowania nie bawią się dodatkowymi języki i API. Tak samo na Macu. Tylko na linuxie programiści wymagają 100mb+ dodatkowych zależności bo mają zachciankę pisać w javie.

    • Trollu bagienny co ty robisz na tej stronie nie pomyliły ci się czasem adresy?

    • marcinsud

      “Java jest mniej popularna”
      Java to obecnie najpopularniejszy język programowania ;)
      http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

    • Hans Landa

      Są różne źródła. Jedne podają, że C++ inne że Python, a inne że java. Faktem jednak jest, że java nie jest instalowana domyślnie w większości dystrybucji linuxa.

    • Java jest obecnie bardzo popularna – lider w sektorze Enterprise. Android też dał językowi drugą młodość.

      Inna sprawa, że Java nie jest już tak popularna przy pisaniu aplikacji desktopowych. Co nie oznacza, że nie jest używana – nie brakuje np. silników gier. Jeśli ktoś zna Javę, jak najbardziej się nadaje. Jeśli ktoś nie zna, a chce pisać appki desktopowe – zapewne lepiej rozważyć np. Pythona.

      Myślę, że argument o dociągnięciu jre dla aplikacji nie jest kluczowy. PlayOnLinux i tak silnie bazuje na internecie. Bez łącza, program traci niemal wszystkie swoje zalety – nie można zaktualizować skryptów, dociągnąć ich zależności, pobrać wersji Wine.

    • mikolajs

      Masz rację, że dla użytkownika wygodniej jest niedociągać nowych zależności. Tylko popatrz od strony programisty. Utrzymanie kodu jest trudne i kosztowne. Jeśli projektant zdecyduje, że aplikacja dzięki zmianie języka programowania poprawi swą jakość, wydajność, zwiększy się jej funkcjonalność, a koszty utrzymania spadną to nawet niechęć użytkowników do pobierania dodatkowego pakietu nie może przeważyć. Większość użytkowników doceni nową wersję oprogramowania, a jeśli niektórym to nie odpowiada to trudno. Równie dobrze mógłbym sobie życzyć, aby programiści pisali kod w asemblerze, to jeszcze bardziej oszczędzało by miejsce na dysku. Nie byłoby to jednak tanie rozwiązanie.
      Co do wyglądu to JavaFX również w jej odmianie z OpenJDK wygląda dużo lepiej niż stary Swing, a że nie będzie się integrować z menadżerem okien to fakt, ale i tak na Linuksie trudno jest dogodzić każdemu, bo każdy używa czego innego.

    • Hans Landa

      Programiści na Windowsie jakoś nie mają z tym problemu. Mają C++ i to im wystarcza. W ogóle inne języki są tak samo multiplatformowe jak Java. Wystarczy usunąć zależności i zadziała wszędzie.

    • mikolajs

      Teraz piszesz bzdury. Od dawna już większość programów pisze się w .NETcie czyli kopi Javy ;) Przenośność C++ jest raczej przereklamowana, a na pewno nie taka prosta jak Javy. Niezłym wyborem jest Python, ale ten jest trudniejszy w utrzymaniu dla większych programów.
      Sprawa jest prosta, nie podoba Ci się to nie używaj, ale daj innym się cieszyć tym co jest.

    • Hans Landa

      Parę komentarzy wyżej napisałem też o netcie, ale nie chcę mi się ciągle tego samego tłumaczyć więc napisałem po prostu C++ bo wciąż jest to najpopularniejszy język, a neta używa się tylko do prostych aplikacji.

    • mikolajs

      ” … C++ bo wciąż jest to najpopularniejszy język, a neta używa się tylko do prostych aplikacji.”

      No to, których aplikacji jest więcej, prostych czy tych złożonych? A np. Visual Studio to prosta czy skompiliwana aplikacja bo napisana jest w C#. Raczej tylko stare aplikacje, które już wcześniej były napisane w C++ takie pozostają. Jak aplikacja jest używana przez bardzo wielu użytkowników to opłaca się ją pisać w C++, dla mniejszej ilości już nie.
      Poza tym jak już wspominasz o Windowsie jako ideale to popatrz co zajmuje więcej miejsca na dysku. Masz problem z dociągnięciem zależności, a tymczasem większość programów w Windows dostarcza własne wersje bibliotek co powoduje duży ciężar tych wszystkich programów. Tymczasem dociągając openJDK-jre możesz go używać w każdym innym programie, który używa Javy. Nawet z .NETem nie jest tak pięknie bo ten ma pełno różnych niekompatybilnych wersji.

    • Hans Landa

      Silników gier, symulatorów itp nie piszę się raczej w necie tylko w C++ bo to skomplikowane programy wymagające wydajności. Podsumowując Java nie jest ani prosta w użyciu (jak python), ani wydajna (jak C++), a w dodatku mało popularna na linuxie pc. To jest tylko moje zdanie. Nie ma chyba sensu ciągnąć dalej tej dyskusji bo i tak do niczego nie dojdziemy :)

    • mikolajs

      “Silników gier, symulatorów itp nie piszę się raczej w necie tylko w C++ bo to skomplikowane programy wymagające wydajności.”
      Ale to nie jest oprogramowanie, którego powstaje najwięcej. C++ ma swoje zastosowanie gdzie jest trudny do zastąpienia, ale nie zawsze opłaca się w nim pisać.

      “Podsumowując Java nie jest ani prosta w użyciu (jak python), ani wydajna (jak C++), a w dodatku mało popularna na linuxie pc.”
      Python jest łatwy tylko dla małych aplikacji, w większych lepiej sprawdzają się języki typowane. Java ma tę zaletę, że jest o wiele wydajniejsza do Pythona, a niewiele mniej od C++. Za to o wiele łatwiej pisze się i utrzymuje program. To, że nie używa się go często na Linuksie to faktycznie ciekawe.

      “To jest tylko moje zdanie.”
      Z całym szacunkiem, ale tutaj bardziej liczy się zdanie deweloperów, bo to oni wiedzą co piszą i jakie narzędzie będą najlepsze dla ich zadania.

    • Hans Landa

      Każdy producent / może robić co chce ze swoim tworem, ale żeby osiągnąć najlepsze skutki powinien się kierować głosem użytkowników. Ja wiem, że od 5 wersji nie będę używać playonlinux’a i zresztą przewiduję dużo takich osób. Masz chyba problem, że ktoś ma inne poglądy niż twoje.

    • mikolajs

      “Ja wiem, że od 5 wersji nie będę używać playonlinux’a i zresztą przewiduję dużo takich osób.”

      IMHO to niezbyt racjonalne podejście, no chyba, że faktycznie masz problem z pobraniem Javy. Ale Twoje przewidywania co do innych użytkowników mogą się nie spełnić. Jeśli ktoś używa PoL to dlatego, że ma problemy z uruchomieniem ręcznie gry, a że sama gra i tak ma parę giga to pobranie 60MB (tyle wypisuje u mnie) nie robi różnicy. Program jest niekomercyjny, żyje z datków społeczności więc albo daj im dotację z zaznaczeniem, że dajesz na utrzymanie wersji w Pythonie, albo przestań wmawiać deweloperom w czym mają pisać.
      Nie odbieram Ci prawa do własnego zdania, mimo że według mnie jest irracjonalne, ale wypowiadasz się za innych i rozpowszechniasz mity.

      “Poza tym mam ciekawsze zajęcia niż tłumaczenie małolatom jak funkcjonują komentarze i że każdy ma prawo do własnego zdania.”
      No i wyszła słoma z butów. Lat mam niestety już całkiem sporo. A co do własnego zdania to jakbyś napisał, że nie chce używać bo mi się nie podoba Java to nie było by całej dyskusji.

    • Bastian KG

      Odejmij od tego Indie i zobacz wynik

    • asd

      Indie i Polskę ;)

    • a

      Indie? Gry indie faktycznie pisze się w innych językach :P

    • Może nie będziesz musiał instalować nic poza POL i Wine. JRE zawsze można dołączyć do docelowego oprogramowania, więc nie będzie potrzeby instalować JRE w systemie.

    • Anon

      Java – już widzę jak ta aplikacja będzie wyglądać. JDownloader mi wystarcza jako bohomaz. Java nie integruje się poprawnie z żadnym środowiskiem – najlepsze jest chyba pod tym względem Qt.

    • Javowy Swing wygląda dość dobrze, w przypadku L&F dla GTK. Zresztą – Swing jest już leciwy.

      W przypadku PlayOnLinux 5, zostanie użyty już Java FX, którego Modena nie wygląda wcale źle: http://fxexperience.com/2013/01/modena-new-theme-for-javafx-8/

    • Anon

      To nie jest problem wyglądu stylu – a to że java nie obsługuje w całości stylów Gtk lub Qt. Jakoś Qt może używać stylów gtk.

      L&F – niestety używam KDE więc argument że dość dobrze wygląda z gtk jest raczej nietrafny.

      A co do modeny – porównaj ją do breeze i powiedz że dobrze wkomponuje się do systemu.

      Powiem wprost – lepiej napisać wszystko w c++ (qt) – zużycie pamięci będzie mniejsze (destruktory) niż w javie i wygląd dopasuje się do wszystkich środowisk.

    • Ze swoich doświadczeń i na mój gust wizualny – Swingowy L&F GTK, wygląda porządnie w KDE. Zresztą – obecnie Swing jest już pewnym cieniem przeszłości, także nie można narzekać na jego integracje.

      Rozumiem Twoją wypowiedź, jednak rozbija się w tym momencie na tysiące życzeń użytkowników Linuksa. Sam sam widzisz – używasz KDE więc GTK wygląda lepiej lub gorzej. Odwrotnie jest podobnie. Można użyć C++ z Qt albo Pythona z GTK itp.

      Dlatego w Linuksie czasem trzeba zdecydować za użytkowników. Tak, jak postanowili to autorzy PlayOnLinux – piszemy w Javie wspomagając się Java FX, a na górze od skryptów jest Python. Koniec – taki wybór, może się podobać lub nie ;-) Czasami taka postawa jest konieczna.

      W świecie Windows jest kompletna samowolka wizualna. A jednak aplikacji się używa. Dlatego czasem w Linuksie trzeba zdecydować za użytkownikom, gdyż w tym systemie – nigdy nie dogodzi się każdemu ;-)

    • Kamil Małczyński

      Może i obecnie Java jest wydajniejsza niż parę lat temu, nadal jest jednak pedalska :v

  • PlayOnLinux – doceniam za wygodę instalacji aplikacji w prefiksach, w tym możliwość instalacji wielu wersji Wine, po czym przypisanie konkretnej wersji do programu.

    Jeśli chodzi o samą jakość skryptów – cóż, tu bywa różnie, parokrotnie przejechałem się na nich. Mimo, iż występuje skrypt do instalacji gry lub aplikacji, nie daje to gwarancji działania (ostatecznie zależy to przecież od Wine).

  • Pingback: PlayOnLinux 4.2.10 z obsługą Wine 1.8 - OSWorld.pl()