Codename One wykorzystuje podejście oparte na SaaS, więc może (i prawdopodobnie będzie) zmienić się w przyszłości w celu dostosowania ulepszonych architektur. Zauważ, że Codename One zapewnia także opcję build offline, co oznacza, że korporacje, które mają zasady zabraniające takich architektur chmur, nadal mogą używać Codename One z dodatkowym obciążeniem/złożonością.
Obecnie na Androidzie standardowy kod Java jest wykonywany tak jak jest. Składnia Java 8 jest tłumaczona za pomocą retrolambdy na wszystkie platformy, gdy jest używana. Dzięki temu może być kompatybilny ze wszystkimi wersjami Androida, a także z innymi portami.
Na iOS Codename One zbudowany & open source ParparVM, który jest bardzo konserwatywną maszyną wirtualną. ParparVM ma współbieżny (nie blokujący) GC i jest napisany w całości w języku Java/C. Oznacza to, że projekt xcode jest generowany i kompilowany na serwerach budowania, dzięki czemu działa tak, jakby ręcznie natywna aplikacja, a tym samym "przyszły dowód" zmian wprowadzonych przez Apple. Na przykład. przy ostatnich 64-bitowych i bitcode zmianach w kompilacjach iOS, ParparVM nie potrzebował żadnych modyfikacji, aby dostosować się do tych zmian.
W przeszłości nazwa kodowa One używał XMLVM do generowania natywnego kodu w bardzo podobny sposób, ale rozwiązanie XMLVM było zbyt ogólne dla potrzeb Codename One.
Kompilacje iOS są kompilowane i podpisywane na komputerach Mac w chmurze za pomocą xcode (oficjalne narzędzie do budowania Apple). Dzięki temu są one zgodne z bieżącymi/przyszłymi zmianami wprowadzonymi przez firmę Apple i umożliwiają programistom korzystanie z systemu Windows/Linux podczas kierowania na system iOS. Możesz przeczytać więcej na temat kompatybilności ParparVM z iOS here.
W przeszłości nazwa kodowa One obsługiwała system Windows Phone przy użyciu translatora C# opartego na XMLVM, ale nie było to idealne podejście. Zauważ, że backend XMLVM, który tłumaczy się na C#, bardzo różni się od tego, który był poprzednio używany do tłumaczenia na iOS. Nazwa kodowa One wybrana na discontinue that old backend, ponieważ nie była tak silna jak nowy backend UWP i nie pasuje do celów Microsoftu idących dalej i skupiających się na UWP (Universal Windows Platform).
Dla komputerów stacjonarnych i urządzeń przenośnych dla systemu Windows Nazwa kodowa 1 używa iKVM do target UWP (Universal Windows Platform) i otworzyła źródła zmian oryginalnego kodu iKVM w wersji Codename One github repository.
Uwaga, UWP buduje są wykonywane w systemie Windows 10 maszyn w chmurze, umożliwiając tym samym programistom korzystać z Mac/Linux lub starszych wersjach systemu Windows podczas tworzenia okna rodzime aplikacje ...
JavaScript budować cele, które są dostępne na subskrybenci na poziomie korporacyjnym używają TeaVM do statycznego tłumaczenia. TeaVM zapewnia wsparcie dla wątków za pomocą JavaScriptu poprzez przerywanie aplikacji w dość skomplikowany sposób.Do obsługi złożonego interfejsu użytkownika Codename One wykorzystuje interfejs API HTML5 Canvas, który pozwala na całkowitą elastyczność w budowaniu aplikacji.
W przypadku kompilacji komputerowych Nazwa kodowa One używa javafxpackager
, ponieważ zarówno komputery Mac, jak i komputery z systemem Windows są dostępne w chmurze, specyficzny dla platformy charakter javafxpackager
nie stanowi problemu.
Cechą wyróżniającą Codename One jest podejście do interfejsu użytkownika, w którym wykorzystuje "lekką architekturę", aby interfejs działał bezproblemowo na wszystkich platformach i był rozwijany niemal w całości w języku Java. Jest on wzbogacony o możliwość umieszczenia widżetów "wagi ciężkiej" na miejscu wśród "jasnych". Możesz dowiedzieć się więcej na ten temat w tym blog post. Zauważ, że w tej chwili peering is undergoing some improvements, a teraz obsługuje bardziej skomplikowane zastosowania, takie jak warstw.
Lekki komponent jest napisany w całości w języku Java, dzięki czemu programiści mogą dokładnie wyświetlić podgląd aplikacji w symulatorze GUI &.
Nazwa kodowa Jedna osiąga wysoką wydajność, korzystając z natywnych interfejsów API gier większości platform, np. OpenGL ES na iOS.
Podstawowymi technologiami kryjącymi się za Codename One są wszystkie otwarte źródła, w tym większość materiałów opracowanych przez samą Codename One, np. ParparVM, ale także full library, platform ports, designer tool, device skins itd. Możesz dowiedzieć się więcej o korzystaniu ze źródeł kodowych One here.
FYI Shai Almog, autor tej odpowiedzi, jest dyrektorem generalnym Codename One.
Dzięki za uwagę, Shai! Myślę, że powinieneś umieścić to w swoim FAQ, wiemy, że nie ma żadnego "magicznego zdarzenia" i lubimy wiedzieć, jak działa magia przejmująca. Prawdopodobnie spróbuję w fazie oceny! –
Nie ma fazy oceny dla Codename One, naszym zamiarem jest zawsze mieć rozsądną darmową opcję dla programistów bez żadnych zobowiązań. Ponieważ produkt jest oprogramowaniem typu open source, ważne jest, abyśmy mogli przenieść część tej wolności również do usług SaaS. –
Przepraszam, wyraziłem się źle: P Obecnie szukam tylko alternatyw, wtedy będziemy mieć fazę oceny, aby zobaczyć, w jaki sposób technologie spełniają nasze potrzeby. –