Nie mogę się doczekać opracowania aplikacji komputerowej przy użyciu Pythona. Jestem początkującym i nie mam wystarczającej wiedzy specjalistycznej w języku Python. Jestem również programistą Java. Chociaż mam pewne doświadczenie w tworzeniu interfejsów użytkownika za pomocą Swing, widzę, że aplikacje opracowane na Swing są zbyt cholernie wolne. Może to być jeden z powodów, dla których wiele głównych implementacji jest wykonywanych w C / C ++, podobnie jak w przeglądarkach / grach.
Opracowanie interfejsu użytkownika w C ++ może być lepszym rozwiązaniem, ale wolę wybrać język programowania wysokiego poziomu niż C / C ++. Zdecydowałem się więc na Pythona, zakładając, że będzie on działał lepiej niż Java Swing, ponieważ sam Python jest natywnie zbudowany na C / C ++.
Czy mogę zatem przyjąć założenie, że Python jest lepszy od Java Swing do opracowania interfejsu użytkownika? A może sugerujesz język, który jest lepszy niż Python do tworzenia interfejsów użytkownika? Jeśli w ogóle używam Pythona, który zestaw narzędzi powinienem użyć Tkinter lub wxPython i dlaczego?
źródło
Odpowiedzi:
Właśnie rozpocząłem tworzenie aplikacji komputerowej dla systemu Windows, używając Pythona. Używam PyQt .
Jest bardzo łatwy do zainstalowania i uruchomienia. Samouczek tutaj: http://zetcode.com/tutorials/pyqt4/firstprograms/ pokazuje, jak łatwo pokażę kod:
To otwiera okno.
Wybrałem Python / PyQt zamiast C # / WPF, ponieważ chcę nauczyć się Pythona, a mój pracodawca daje mi czas.
Mój menedżer polecił mi PyQt w stosunku do innych frameworków, ponieważ z jego doświadczenia jest łatwiejszy w użyciu.
źródło
Jeśli chcesz opracować natywny interfejs GUI dla systemu Windows lub OSX, radzę użyć Tkintera (tj. Biblioteki GUI Tk z założonymi ubraniami pytonowymi), ponieważ przybliża cię to znacznie do natywnego wyglądu niż wxPython (wxWidgets dla python) . Nie jest to łatwe do oszacowania, ale moim zdaniem zrzuty ekranu z systemu Windows i OSX . YMMV. Wiem, że Tk ( ważne: z zestawem widżetów Ttk) ma bardzo rodzimy wygląd.
Jeśli tworzysz dla Linuksa… Naprawdę nie mogę szczerze doradzić sobie nawzajem, ponieważ straciłem orientację, jaki jest obecny ulubiony wygląd platformy. :-)
źródło
Powiedziałbym, że to dobry wybór, jeśli już znasz i lubisz Python. W przeciwnym razie użyj języka, który już znasz, jakim jest Java. Jedynym wyjątkiem jest sytuacja, gdy jest to projekt edukacyjny, w którym to przypadku sugerowałbym, że dobrym pomysłem byłoby zdobycie doświadczenia w posługiwaniu się innymi językami.
Chodzi mi o to, że Python nie jest tak naprawdę lepszy ani gorszy od Java dla aplikacji interfejsu użytkownika, więc używaj dowolnego narzędzia, z którym chcesz pracować.
źródło
Jedyną prawdziwą radą, jaką można udzielić na wszystkie takie pytania, jest: „spróbuj i przekonaj się, czy ci się to podoba” - opinie innych ludzi na temat języków programowania (szczególnie tych, które mogą być ich ulubionymi lub najbardziej znienawidzonymi językami) rzadko są warte wiele .
Jednak moje 5 centów jest warte - do podrzucania szybkich, prostych graficznych interfejsów systemu Windows, kombinacja Pythona i wxWidgets działa bardzo dobrze. Ale jak powiedziałem, wypróbuj to sam - możesz złożyć coś prostego, ale przydatnego w ciągu około godziny, nawet bez dużego doświadczenia w Pythonie (z pewnością nie mam zbyt wiele).
źródło
Na wypadek, gdyby ktoś znalazł się tutaj za pośrednictwem wyszukiwarki: możesz szybko wygenerować kilka przykładów Tkinter za pomocą generatora PAGE. Generuje porządny kod, który da ci wyobrażenie o tym, co trzeba zrobić, aby dotrzeć tam, gdzie chcesz się udać. Zdecydowanie wymaga to zgody na ogólność, jak twierdzi autor, ale dla kogoś, kto chce przetestować wody lub uzyskać ogólne pojęcie o tym, dokąd zmierzają, jest to dobre narzędzie. PAGE na SourceForge .
źródło
Myślę, że niektóre typy aplikacji są dość łatwe do pisania w Pythonie.
Na przykład trener zadań jest napisany w języku Python / wxPython. Używają kompilatora Python2exe, takiego jak py2app, py2exe itp., Aby tworzyć wieloplatformowe, wyglądające na pliki wykonywalne.
źródło
Jeśli jesteś ograniczony do programowania w ekosystemie Windows i używasz Visual Studio, rozważ Iron Python. Iron Python to Python plus obiekty .NET.
źródło