Od jakiegoś czasu eksperymentuję z Termux. Oczywiście wydaje mi się to być fajne rozwiązanie, szczególnie jeśli mówimy o korzystaniu z Androida jak ze zwykłego komputera. Prekompilacja narzędzi Linuksowych, by korzystały z dobrodziejstw Androida (czyli bibliotek) to ogólnie bardzo ciekawe rozwiązanie, do którego dołożyłem cegiełkę (nawet 2, ale to zaraz).
Portowanie aplikacji
Android to jedna z dystrybucji Linuksa, ale niestety niekompatybilna w pełni z typowymi dystrybucjami. Nie ma serwera X, a korzysta z SurfaceFlingera; nie ma GNU Libc, a Bionic, nawet OpenGL nie ma, bo na mobilny sprzęt jest OpenGLES. Jest sporo drobnych różnic. Jednak to nie znaczy, że nie ma punktów wspólnych, wszak aplikacje na Androida kompiluje się przy użyciu np. Clanga, który jest normalnym kompilatorem. Tak więc pomimo różnic, są podobne rzeczy.
Jest też parę wrapperów, jeśli można to tak nazwać. Czyli rzeczy, które konwertują funkcje z jednego programu na inny, dla przykładu Termux ma zmodyfikowany system dźwięku Pulseaudio, by współdziałał z OpenSLES, czyli Androidowym systemem dźwięku - w podstawowej formie, ale sprawdza się to w najważniejszym, czyli odtwarzaniu dźwięku :D.
Ale to tak nawiasem mówiąc.
Pygame i Future
Pygame to biblioteka Pythonowa do tworzenia gier. Powstało parę interesujących perełek wykorzystujących ją, ale nie było jej domyślnie na Termux. Problem jest taki, że nie dało się poprawnie zainstalować tej biblioteki z poziomu PIP, więc zacząłem sam portować ją, by zbudować na Termux. Niestety tutaj spóźniłem się o 2 dni, ktoś mnie ubiegł. No, ale nic :P
Drugą biblioteką, która trafiła do Termux (a dokładniej repozytorium użytkowników - TUR), to Future. Po co mi to? Otóż następnym krokiem co chcę zrobić (mając Pygame i Future) to przenieść grę Ardentryst. Taka prosta, ale moim zdaniem fajna gra - przynajmniej mi się spodobała. Ale ogólnie robię to dlatego, że to kolejny krok milowy.
Samą grę udało mi się odpalić na Termux, razem z serwerem X11 uruchamianym przez VNC. Gra jest grywalna, a to najważniejsze :P
Problemy
Problemy w przenoszeniu bibliotek czy aplikacji jest takie, że budujesz na Dockerowym środowisku. Chodzi o to, by każdy mógł łatwo zbudować paczkę, ale zarazem nie jest to zawsze takie proste. Mam spory problem z zależnościami, gdyż programy nie chcą z nich czasem korzystać i trzeba kombinować.
No, ale poza tym to ciekawa zabawa. Raczej niepraktyczna, ale z drugiej strony smartfony z wysoką wydajnością są tanie, a komputery nie. Coraz lepiej rozwija się technologia Cloud Gamingu i nie zdziwiłbym się jakby parę osób zaczęło szukać alternatywy dla komputerów. I mam nadzieję, że rozwój Termux sprawi, że Android będzie jeszcze lepszy w zastępowaniu aplikacji desktopowych.
No i możecie Ardentrysta sobie odpalić :D Może Wam się spodoba, kto wie.