Java Lightweight UI Toolkit jako open source

Sun udostępnił niedawno kod źródłowy pakietu do tworzenia przenośnego GUI na licencji GPL v2 z zastrzeżeniem Classpath Exception (aplikacje korzystające z pakietu nie muszą być na licencji GPL)

Koncern twierdzi, że dzięki temu pakietowi jest możliwe tworzenie całkowicie przenośnego GUI, i to nie tylko między systemami, ale także różnymi urządzeniami i wersjami platformy Java. W pakiecie znajdują się predefiniowane obiekty i efekty graficzne, czcionki i animacje.

Uważać to można za kolejny chwyt mający odciągnąć programistów od fali języków skryptowych (głównie Pythona i Ruby), które ostatnio osiągają wysokie wyniki w rankingach popularności.

Czy warto tego używać? W sumie możliwość tworzenia bardzo przenośnego gui w wybranym języku daje WxWidgets, za to JLUIT zmusza nas do użycia Javy, ale daje czcionki i inne zasoby, które mogą być zmienne za względu na platformę. Najlepiej ocencie sami

żadnych reklam, sama wiedza.

Zarejestruj się na BEZPŁATNY NEWSLETTER i raz w tygodniu otrzymuj najważniejsze wiadmości
ze świata IT, nowych technologii i kryptowalut.

Bez reklam.

  1. Awatar ps
    ps

    Jakoze ten toolkit celuje w midlety + urzadzenia przenosne, to:

    1)

    wxWidgets na urzadzeniach przenosnych? Zgoda, ew. na Windows CE.

    2)

    "Uważać to można za kolejny chwyt mający odciągnąć programistów od fali języków skryptowych (głównie Pythona i Ruby), które ostatnio osiągają wysokie wyniki w rankingach popularności."

    Skad taki wniosek? Mniemam, ze chodzi o pyGTK (ad pythona), ktore zbyt powszechne

    na urzadzeniach mobilnych nie jest, o ile w ogole.

    1. Awatar Jabu Daba
      Jabu Daba

      Któś nie bardzo zrozumiał co to jest ten LWUIT

  2. Awatar mby7930
    mby7930

    Linki do komentarzy i wiadomości źródłowej

    www.theregister.co.uk/2008/08/14/java_mobile_tool…
    lwuit.blogspot.com/2008/08/evangelizing-lwuit.html

    lwuit.dev.java.net/

    lwuit-incubator.dev.java.net/

  3. Awatar Husio
    Husio

    Nie wiem dlaczego, ale nie przemawia do mnie pisanie jakiegokolwiek GUI w Javie. Prosta aplikacja graficzna która na dzień dobry zjada ponad 100MB tylko dlatego że wymaga takiej maszyny wirtualnej? Ta sama aplikacja napisana w języku skryptowym wymaga o wiele mniej zasobów a działa niezauważalnie wolniej.

    1. Awatar jellonek
      jellonek

      nie wiem dlaczego, ale nie przemawiają do mnie takie komentarze. napisałeś coś kiedyś w javie? uruchamiałeś na czyms innym niz stere sun-jre? uruchamiales na telefonie?

      100M zjedzone na telefonie? wez ić…

    2. Awatar Sankozi
      Sankozi

      W przypadku pisania prostych aplikacji z GUI rzeczywiście szybkość nie ma większego znaczenia i można korzystać z języków skryptowych. Świetnym pomysłem jest np. pisanie konfiguratorów w Pythonie. Jednak w przypadku bardziej skomplikowanych aplikacji języki skryptowe są zbyt wolne. Trzeba jeszcze zauważyć, że wciąż budowanie GUI w javie jest szybsze niż np w Pythonie (mówię o jakimś porządnym GUI, okienko z Hello World napisze się szybiej w Pythonie).

      1. Awatar WujcioL
        WujcioL

        Skryptowo powoli się robi GUI? Masz tu okno o tytule "Hello World" w Ruby z użyciem FOX:

        <code>

        require 'fox16'

        include Fox

        app = FXApp.new

        mw= FXMainWindow.new(app, "Hello World",:width => 320, :height => 240)

        app.create

        mw.show(Fox::PLACEMENT_SCREEN)

        app.run

        </code>

        1. Awatar Sankozi
          Sankozi

          Napisałem przecież: "okienko z Hello World napisze się szybciej w Pythonie". Twój przykład jest zresztą dosyć spory, porównywalny z Javą jeśli idzie o klepanie kodu.

        2. Awatar WujcioL
          WujcioL

          Da się skrócić jeszcze ten kod:

          <code>

          require 'fox16'

          Fox::FXApp.new do |app|

          Fox::FXMainWindow.new(app, "dlroW olleH".reverse,:width => 320, :height => 240).show(Fox::PLACEMENT_SCREEN)

          app.create

          app.run

          end

          </code>

          Okienko wyświetla się na środku ekranu.

          Tytuł jest uzyskiwany przez odwrócenie "dlroW olleH".reverse , co w Javie jest ciężkie do uzyskania, jeżeli wogóle możliwe

        3. Awatar michuk
          michuk

          Może w Javie nie jest to bardzo eleganckie, ale nazwanie tego niemożliwym jest już lekkim przegięciem 🙂

          Definiujesz prostą funkcję:

          <pre><code>public static String reverseIt(String source) {

          int i, len = source.length();

          StringBuffer dest = new StringBuffer(len);

          for (i = (len – 1); i >= 0; i–)

          dest.append(source.charAt(i));

          return dest.toString();

          }</code></pre>

          A potem już tylko:

          <pre><code>String str = "dlroW olleH";

          str = reverseIt(str);

          System.out.println(str);</code></pre>

        4. Awatar arturz.blogspot.com
          arturz.blogspot.com

          Ojojoj a po co aż tak pokrętnie? 😉

          String s = new StringBuilder("dlroW olleH").reverse().toString());

          🙂

        5. Awatar jarek
          jarek

          > Tytuł jest uzyskiwany przez odwrócenie “dlroW olleH”.reverse

          Ekstra! Niezwykle przydatna metoda, nie od dzis bowiem wiadomo

          ze ludzie ciagle wprowadzaja stringi od tylu, a w zrodlach

          realnych aplikacji roi sie od ich odwracania.

          > co w Javie jest ciężkie do uzyskania, jeżeli wogóle możliwe

          Tak, ale zapomniales wspomniec, ze to nie tylko sie nie uda,

          ale i zuzyje 1GB pamieci i wykonczy 4-ro rdzeniowe CPU 3GHz.

        6. Awatar WujcioL
          WujcioL

          Ruby 1.8.7 przy moim kodzie zużywa 19 772kB pamięci operacyjnej i wywołuje 2 sekundowy skok użycia procka do 25% (Pentium 4 3,0GHz 1 rdzeniowy), potem spada do 4%

      2. Awatar vandut
        vandut

        @WujcioL: jesteś zwykłym fanboyem Rubyego i jak tu można traktować Twoje zdanie jako opiniotwórcze?

        "dlroW olleH".reverse

        Czyś ty na głowę upadł? Nie jesteśmy w przedszkolu żeby podniecać się takimi możliwościami, które przydają się równie często jak występowanie piątku trzynastego. Nikt tu nikomu nie próbuje ukraść udziału w językach skryptowych. Ruby jest niszowy, świetnym przykładem jest chociażby wykop.pl który został przepisany z RoR na PHP tylko dlatego, że nie było deweloperów którzy mogli by się zająć rozwijaniem tej web aplikacji.

        Weź zimny prysznic i ochłoń.

        1. Awatar 3ED
          3ED

          Przepisali i się popsuli, stał się wolny i przepełniony malutki błędzikami dzięki którym powiedziałem mu dowidzenia. Kiedyś to naprawdę ciekawa stronka była ale chyba od jakiegoś roku jest coraz więcej tam śmieci nieraz całkowicie bezwartościowych. Nie twierdzę że to przez php ale mieli kod, a na grupach dyskucyjnych czy w innych miejscach można spotkać sporo osób które pykają rubego, więc jakoś tak nie przemawia to do mnie.

  4. Awatar TLu
    TLu

    W Tk:

    pack [label .l -text "hello world"]

    Da się prościej?

    Tcl/Tk jest m.in dla WinCE, ale dla Symbiana chyba jeszcze nie ma 🙁

  5. Awatar mby7930
    mby7930

    W podlinkowanym przeze mnie blogu jest prezentacja, z najprostszymi przykładami kodu.
    http://shai.almog.googlepages.com/LWUIT_KIT.odp

    Samples – Hello World

    Form frm = new Form(“Hi”);

    frm.addComponent(new Label(“World”));

    frm.addCommand(exitCommand);

    frm.show();

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *