Aplikacje Flutter w przeglądarce? Właśnie na Google Developers Days pojawiło się info o tym, że Flutter for the Web znalazło się w głównym repozytorium. Wystarczy zmienić flutter channel ze stable na master aby zgodnie z opisem tutaj odpalić aplikację w przeglądarce. Drugi brakujący feature: Foreign Function Interface (FFI). Przyznam szczerze – te zmiany robią wrażenie. Kawał ciekawej i przydatnej technologii. Jedno jest pewne – będzie się działo!
Archiwum kategorii: android
Dart i Flutter.
Fajny ten Dart. Jakoś wcześniej nie mogłem się do niego przekonać, ale moje ostatnie eksperymenta z ES6 trochę mi to ułatwiły.
Analizator i system typów robi spore wrażenie. OOP w Dart to chyba najlepsze co do tej pory widziałem – dziedziczenie, interfejsy, klasy i metody abstrakcyjne, mixins, overrides, listy inicjalizacyjne konstruktora, prosta inicjalizacja argumentów nazwanych konstruktora, po prostu trzeba to zobaczyć. Flutter to temat na kilka osobnych wpisów ;), a StatefullWidget mnie zachwycił. Poniżej mój pierwszy eksperyment – kolejne wcielenie apki do sterowania esp8266 za pomocą http request.
Kliknij w obrazek powyżej żeby zobaczyć plik źródłowy.Widać w tym przyszłość i to raczej pozytywną, zarówno dla użytkowników, jak i programistów. A i jeszcze jedno – nie sądziłem, że to kiedyś powiem, ale Visual Studio Code to świetny edytor ;).
Aktualizacja: oficjalnie zaliczam Dart i Flutter do grona zjawisk i technologii, które mnie zafascynowały (patrz strip na górze ;)).
Stockfish.
Zawsze chciałem zacząć grać w szachy, ale jakoś nie mogłem znaleźć wystarczająco cierpliwego nauczyciela ;). Niedawno odkryłem silnik nie z tego świata Stockfish i dwa programy: Arena dla Linuksa i Droidfish dla Androida (mój ulubiony).
Dalej kiepsko mi idzie, ale chyba mam kolejne hobby…
SIO2BT + AspeQt.
Update: wersja 1.0.39 z obsługą SIO2BT jest już w Google Play.
Kilka tygodni temu dotarły do mnie słuchy, że FJC planuje dodać obsługę większych prędkości (do 57600 bps) SIO2BT w PBI BIOS Ultimate 1MB, pomyślałem – ja się piszę – Marcin „The Montezuma” Sochacki przysłał mi pięknie zmontowanego dongla SIO2BT, a kilka dni później AspeQt na Androidzie obsługiwał już SIO2BT.
Wersja w Google Play.
Ta sama wersja na Github.
Poza sparowaniem z Androidem wystarczy tylko w ustawieniach podać nazwę modułu, z którym AspeQt będzie się łączył. Standardowo wykorzystuje programową detekcję ramki komendy (SOFT), a prędkość ustawia się narzędziem BTCONFIG z poziomu Atari (jednorazowo). Z najnowszym firmware U1MB działa @57600bps. Jedyne wymaganie to wybranie w Opcjach interfejsu SIO2BT i ustawienie nazwy modułu BT, z którym Android będzie się łączył.
W planach mam utworzenie wspólnego javowego interfejsu dla SIO2BT, usb-serial-for-android i felhr/UsbSerial. Nie powinno mi to zająć dużo czasu…(zrobione).
Zadziała z każdym adapterem zbudowanym wg tego prostego schematu:
Moduł BT to koszt ok. 20zł (HC-06 na Allegro).
AspeQt i FT312D.
Montezuma podesłał mi linka ze specyfikacją kabla Digitus:
http://www.morele.net/digitus-adapter-usb-rs232-da-70160-698967/
i myślę, że ma to spore szanse jako alternatywa do FT232 na Androidzie. Tym bardziej, że Open Accessory Mode nie wymaga żadnych sterowników… Zobaczymy co z tego wyjdzie ;).
Mój Samsung nie ma usb-host ale open accessory mode działa ;). Już prawie… Jeszcze tylko dołożyć TTL level shifter 3.3<->5V i powinno działać.
Aktualizacja:
java.io.IOException: write failed: ENODEV (No such device) at libcore.io.IoBridge.write(IoBridge.java:455) at java.io.FileOutputStream.write(FileOutputStream.java:187) at dji.midware.usb.P3.UsbAccessoryService$1.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:841)
Jest problem z open accessory mode, nierozwiązany od kilku lat…
AspeQt na Androidzie i High Speed SIO w MyPicoDos.
Po co posiadaczowi Side AspeQt na Androida? Ano, coraz częściej znajduje jakiś program w necie i aby sobie go odpalić musiałbym iść po laptopa/czytnik kart CF. Nie chce mi się, a nic tak nie cieszy jak odpalenie jakiejś zdobyczy retro, na prawdziwym Atari.
Z AspeQt na Androidzie nie ma tego problemu – tablet albo telefon mam zawsze pod ręką ;). Dodatkowo mogę cieszyć się szybkim SIO (HS index 0) na niezmodyfikowanym Atari 130XE, którego używam na co dzień:
- do katalogu z pobranymi z neta skarbami (xex) wrzucamy dwa pliki $boot.bin i picodos.sys stąd.
- montujemy katalog w AspeQt:
I bootujemy:
Pikuś załatwia nawet długie nazwy plików 😉 i klawisza Option naduszać nie trzeba.
SVG.
Android Studio vs IntelliJ IDEA.
Nic z tego nie rozumiem. IntelliJ i Android Studio wyglądają niemal identycznie, wtyczka UI designera jest budowana z tych samych źródeł.. Jednak IntelliJ działa 100 razy sporo szybciej od Android Studio. O co kaman? Jak można tak upośledzić działanie programu?Na moim lapku z i5 i 4GB ramu Android Studio jest nieużywalne! A IntelliJ działa szybko i płynnie nawet na nieśmiertelnym Thnikpadzie R61 z 2007 roku.
Update: Nowa wersja IntelliJ nieco zwolniła, a AndroidStudio 2.0 przyspieszyło, tak że teraz ani jednego ani drugiego nie da się komfortowo używać pod Windows na moim laptopie…
Ok, IntelliJ 15.0.2 działa znów bardzo dobrze.
AspeQt w Google Play Store.
Wydaje mi się, że ludzie są raczej niechętni do instalowania softu na Androida poza sklepem Google, z tego też powodu pomyślałem: raz kozie śmierć! I założyłem sobie konto w Google Play Store. Od dzisiaj AspeQt jest teraz również dostępny tą pobłogosławioną przez Google drogą.
OptionsDialog.
TreeView na Androidzie sprawdza się średnio, zastanawiałem się jak to można by zrobić w Qt5 i przyznam szczerze, łatwo nie jest. QScrollView ma jedną podstawową wadę: póki co nie obsługuje przewijania jednym palcem i trzeba mu zostawić włączony scrollbar, na szczęście udało się go poprawić za pomocą stylów:
O kwestię layoutów mam ochotę zapytać któregoś z developerów, bo niestety są bardzo nieprzewidywalne. Nigdy nie wiadomo gdzie i jak dany widget się wyświetli. Na powyższym zrzucie odległości między obiektami są różne, a powinny być względnie spójne, bo na samym dole kontenera dodałem expander, który powinien wszystko co powyżej niego ładnie do siebie dosunąć…
Mam nadzieję, że kiedyś pojawi się spójne scrollview z obsługą single finger pan. Póki co się nie zanosi. A przecież aplikacji w QtWidgets jest niewspółmiernie więcej na wolności, niż w QtQuick.