Ojtam ojtam. Framework Electron (Chromium + Node.js) napedza edytory Atom i Visual Studio Code i jakos nikt nie narzeka ;)
Ja raz Atom uruchomiłem i od razu wyczułem, że przy naciskaniu buttonów między moim wskaźnikiem myszy, a systemem operacyjnym jest więcej niż jedna warstwa abstrakcji.

Używać się da ale zdecydowanie wolałbym coś robione pod natywny UI.
Mnie boli, że takie multiplatformowe rozwiązania nie korzystają z funkcji systemu operacyjnego. Potem okazuje się, że ten czy inny cudowny wytwór społeczności opensource nie potrafi wyjść z trybu fullscreen na macOS, głupieje przy split view, a gesty 2/3/4 palcami to dla niego zupełna abstrakcja. Nie obsługuje systemowych notyfikacji, nie wchodzi w stan uśpienia zgodnie z zasadami oszczędzania baterii pieczołowicie opracowanymi przez twórców systemu, nie wczytuje ostatnio używanego dokumentu po restarcie komputera z opcją odbudowania wszystkiego (np. MS Office na macOS). Albo gdy biblioteki GUI systemu zostają znacznie przyspieszone to te "cudaki" ślimaczą się i wygladają jak np. GIMP czy Inkscape na bardzo mocnym Maku. Dochodzimy do sytuacji, że odpalając nową aplikację musimy przyzwyczajać się do zupełnie innych interfejsów. Dosłownie jakbyśmy się przesiadali na inny system operacyjny. Przechodzi się do innej aplikacji, a tam requestery z domyślną opcją po prawej stronie, a nie po lewej, zamykanie okna gdzieś indziej, typowe dla systemu skróty klawiaturowe nie działają (swoich ustawić nie można, bo standardowe systemowe funkcje do tego stworzone oczywiście nie są obsługiwane).
Nigdy nie dam sie przekonać, że jakieś cudaki w JavaScripcie czy QT będą lepiej działały i wyglądały niż natywny soft napsiany do bólu zgodnie z wytycznymi twórców systemu.
No i ta spójność... W dzisiejszych czasach większość aplikacji ma swój cudaczny GUI. Bardzo tego nie lubię. Dlatego między innymi lubię applowy świat, bo tam to jest jeszcze w miarę spójne (chociaż nie tak jakbym chciał). Ja bym najchętniej widział wszystkie aplikacje na macOS w Cocoa, na MorphOS w MUI, an AROSa w Zune, na AmigaOS4 w Reaction, na Windows w WinAPI (chociaż tu jest problem, bo oni są w fazie przejściowej, a WinAPI to koszmar początku lat 90). Żadnych "upiększaczy", skórek, własnych bitmapek na buttonach. Czysty, natywny GUI jest najszybszy i działa bardzo responsywnie.
Przez takie cudaczne rozwiązania właściwie tracimy unikalność platformy. Tracimy funkcje dla których wybieramy tę czy inną platformę. Używając Windows 10 Mobile (Windows Phone) chcę używać kafelków wszędzie i nie chcę żeby co druga aplikacja udawała UI applowego iOSa czy Andorida. Tak samo używając iPhona czy iPada nie chcę kafelków, bo gdybym je chciał to bym używał Windowsa.
Z tej zasady wyłączam wszystkie gry i oprogramowanie rozrywkowe. W tego typu aplikacjach dopuszczam i w pełni akceptuję wszystko.

Są też aplikacje w których taki GUI akceptuję, bo wiem, że gdyby nie takie rozwiązanie to nigdy nie zostałyby przeportowane. Np. całkiem pasuje mi GUI Blendera. Jest tam pewna filozofia, którą trudno byłoby odtworzyć w "platform-specific" GUI. Tak samo jakoś nie przeszkadza mi GUI amigowego TVPainta, GraphX, ProTrackera (chociaż tu zdedydowanie bardziej podoba mi się nowy DigiBooster). A GUI Scali to wręcz uwielbiam i chyba nigdy nic tak fajnie mi się nie używało. To jest prawdziwy flat-design 20 lat przed tym gdy świat go odkrył.
-------
Najśmieszniejsze jest to, że od 3 miesięcy męczy mnie żeby zrobić pewną nierozrywkową aplikację ale z... takim właśnie cudacznym GUI.

Aplikacja byłaby zbyt duża na naukę amigowego/morphosowego API. Zakopałbym się w tym do śmierci, a gdy użyję swojego "gierkowego" GL-GUIa to pójdzie szybko. Po tym komentarzu chyba będę musiał zrezygnować z tego pomysłu, bo spaliłbym się ze wstydu gdybym to zrobił.
Ostatnia aktualizacja: 09.08.2017 20:00:15 przez MDW