2012-09-19 14 views
12

Poszukuję narzędzi do programowania GUI Perla w Windows dla celów edukacyjnych/wewnętrznych, głównie związanych z nauką.Programowanie GUI Perl na Windows

Mój pierwszy wybór to PerlQt. Mój przyjaciel rozwijał się z Qt i C++, więc spodziewałem się uzyskać od niego pomoc. Również Qt ma twórcę GUI, a Linux ma dobrą integrację z Perlem. Niestety, nie udało mi się sprawić, by działało w systemie Windows. Szukałem innych opcji i nadal nie jest jasne po wyszukiwaniu. To jest to, co mam do tej pory.

  • Perl/Tk: szeroka baza użytkowników, dobra dokumentacja, stosunkowo niska nauka krzywa. Ale stary wygląd i może nie być aktywny. Jednak niektóre artykuły mówią, że jest teraz ponownie uruchomiony i ma natywny wygląd.
  • wxPerl: wygląd natywny. Ale stroma krzywa uczenia się. Nie cała biblioteka wx jest przeniesiona do Perla. Niektórzy go lubią, a niektórzy go nienawidzą.
  • Win32: GUI: natywny wygląd, może korzystać ze wszystkich Windows API. Wymagana instalacja wymuszona, ponieważ jeden z testów nie powiódł się. Nadal działa, ale nie jest pewien, czy został poprawnie zainstalowany.
  • XUL :: GUI: używanie silnika FireFox, pisanie CSS.

Udało mi się je zainstalować i udało się pokazać "Hello, world". Nie mogę jednak zdecydować, którą z nich wybrać, a informacje online czasami zaprzeczają sobie nawzajem.

Czy porównać narzędzia pod względem wydajności człowieka (kody łatwe do odczytania i zapisu), wydajności obliczeniowej i dostępności narzędzia do tworzenia GUI?

+5

Tęskniłeś za [Prima] (http://www.prima.eu.org/). Znalazłem fajne wprowadzenie [Prima na Windows] (http://blogs.perl.org/users/fabio_dalfonso/2012/07/a-brief-introduction-to-prima.html). – RanRag

+1

Dzięki, sprawdzę to. – microbe

+1

Widzę, że mówisz "związany z nauką". Co z tym robisz? David Mertens (i kilku innych, w tym ja) buduje REPL-centryczny REPL przy użyciu Primy. Posiada funkcjonalność, która może zawierać proste aplikacje jako zakładki w głównym oknie. [Link CPAN] (https://metacpan.org/module/DCMERTENS/App-Prima-REPL-0.03/bin/prima-repl), [link do GitHub] (https://github.com/run4flat/App-Prima -REPL) –

Odpowiedz

2

Istnieje nieaktualny Perl GUI FAQ na perlmonks.

PerlQt utworów Qt dokładnie.

+0

Natknąłem się na FAQ. Nie byłem pewien, ile informacji jest nadal aktualnych. FAQ został napisany w 2001 roku z niewielkimi zmianami w 2004 roku. Czy większość informacji jest nadal aktualna w systemie Windows 7? – microbe

+0

@microbe - Uruchomiłem PerlTk na oknach, poza tym, nie wiem (Tk, dla mnie było dobre dla 1 lub 2 aplikacji okna, ale poza tym prawdopodobnie bym poszedł z czymś innym) . Prima była dość nowa w czasie, gdy FAQ był napisany, ale wygląda na wciąż utrzymany. – runrig

+0

Prima jest aktywnie utrzymywana. Dmitry współpracuje z nami regularnie. On też szybko naprawia błędy. –

13

Dla rzeczywistego programowania GUI dla platform krzyżowych sugerowałbym Prima lub Tk. Nie wyglądają świetnie, ale działają.

Nadal myślę, że możesz być lepiej obsłużony (hehe) za pomocą interfejsu sieciowego niż prawdziwy GUI w dzisiejszych czasach; to jest łatwe przy użyciu ramy internetowej. Sugerowałbym Mojolicious, chociaż inni ludzie lubią Dancer. Główną przyczyną sugestii Mojo na temat tancerza jest to, że Mojo ma wiele funkcji w jednym małym pakiecie. Z drugiej strony jest to powód, dla którego inni polecają Tancerza, więc to jest rzut.

Ostatnim aspektem jest to, że Mojo jest dostarczany z WebSockets po wyjęciu z pudełka. To sprawia, że ​​twoja aplikacja wygląda raczej jak prawdziwa aplikacja, rozmawia z serwerem i otrzymuje odpowiedzi bez ponownego ładowania.

Edytuj: Mam teraz dobry przykład aplikacji komputerowej napisanej z backendem Perl/Mojo i interfejsem WWW: Azawawi's Farabi. Jest edytorem tekstu, nastawionym na pisanie Perla. To GUI jest przeglądarką, dzięki czemu jest prostym edytorem wieloplatformowym. Polecam go jako punkt wyjścia do podobnych zadań.

2

Mam doświadczenie z PerlTk i wxPerl. wxPerl to raczej przyzwoity zestaw narzędzi, który mogę polecić.Jest też budowniczy GUI dostępny wxGlade

Kilka aplikacji miałem w Tk nauczył mnie nienawidzić, że zestaw narzędzi z całego serca:

  1. to wygląda okropnie
  2. nieproporcjonalna ilość czasu kodowania wydano na rozwiązywaniu różnych błędy i znalezienie obejścia brakujących funkcji
5

Samodzielny promocyjny dla mojego perl IUP:

  • wykorzystuje natywne widżety (= aplikacja będzie mieć natywną wygląd & czuć)
  • jest również nieznacznie cross-platform (Win32, GTK, Motif)
2

Oto dobry przegląd zestawów narzędzi widgetów - z których wiele zapewniają owijarki do popularnych języków programowania:

http://en.wikipedia.org/wiki/List_of_widget_toolkits

polecam [wxwidgets][1] aka wxwindows lub przeglądaj rozwiązanie oparte na r (np. XULrunner) lub czystego rozwiązania opartego na JavaScript + HTML5. W tej chwili pracuję nad narzędziem wieloplatformowym z tylko podstawowym interfejsem użytkownika konsoli, który następnie używa websockets i HTML5 + SVG do bardziej złożonego interpretowania interfejsu użytkownika i UX. Aby uczynić zawartość internetową dynamiczną, używam prostego mechanizmu szablonów.

(Osobiście dla przeglądu pytań, miałem dobre doświadczenia, aby umieścić termin wikipedia i list of gdzieś w zapytaniu jedynek zaufanych wyszukiwarka. Kudos do starannego społeczności wikipedia.)

1

HTA, HTML application, mshta.exe ... Stary, ale działa jak urok. Zalety: Całkowity dostęp do wszystkiego, co tylko chcesz, do tworzenia zaufanych aplikacji w domu. Minusy: Geometria staje się nużąca, dokumentacja/przykłady perlscript (vbscript/javascript) w zasadzie nie istnieją