2016-05-12 12 views
-1

So habe ich kürzlich Codename One entdeckt und war fasziniert von der Tatsache, dass Java für die Entwicklung von plattformübergreifenden mobilen Apps verwendet wird.Hat Codename One die gleichen Fähigkeiten wie die Standardsprachen von mobilen Plattformen?

Ich dachte, wenn es besser oder schlechter als die Standardsprachen ist, die mobile Plattformen verwenden.

Hat es mehr oder weniger oder die gleichen Fähigkeiten wie die Standardsprachen haben? Kann es alles tun, was mit dem Standard-Android Java möglich ist? Was ist der Unterschied zu den Voreinstellungen und ihren Vor- und Nachteilen?

Antwort

0

Eine große Anzahl von Funktionen in den meisten Geräten lesen kann über CN1 API implementiert werden, so dass Sie nur den Code einmal schreiben und es dann auch immer Gerät bauen. Sie können dasselbe für die GUI tun, oder Sie können es für jede Plattform anpassen.

Es gibt immer noch eine Reihe von Funktionen, die in der CN1-API nicht direkt verfügbar sind. Sie können eine native Schnittstelle für diejenigen erstellen, die zu einem Verbindungspfad von Ihrem CNN-Agnostik-Hauptprogramm zu plattformspezifischen Klassen werden, die Sie in den nativen Plattformcode schreiben. Es funktioniert wie jede Java-Schnittstelle, so dass Sie für jede Sprache, die Sie für die jeweilige Sprache benötigen (Objective C, C#, Dalvik usw.) nur nativen Code schreiben.

Darüber hinaus können Sie eine CN1LIB erstellen, die im Grunde eine native Schnittstelle und die nativen Klassen, die zusammen kompiliert werden in eine JAR, die CN1 verwenden wird, als ob es eine enthaltene API wäre, so erhalten Sie die Auto-Code-Vervollständigung und andere nette IDE-Funktionen.

0

Codename Man kann etwas nicht tun, das auf dem Gerät nicht verfügbar ist, wie ein 3D-Bild auf einem 2D-Gerät machen.

In Bezug auf die Bereitstellung von Programmierer Bequemlichkeit, die nicht auf dem Gerät verfügbar ist, könnten Sie Dinge wie Java 8 Sprachfunktionen auf Android verwenden, auch wenn diese auf Android nicht verfügbar waren. Sie können Java und einen GC auf iOS verwenden, Sie können Threads verwenden, wenn sie über JavaScript ausgeführt werden. Ja, es bringt Dinge in die Tabelle, die im nativen Betriebssystem nicht verfügbar sind.

Sie erhalten standardmäßig keinen Zugriff auf Android-Funktionen. Sie können auf alle Funktionen von Android über native Schnittstellen zugreifen, aber diese Funktion können Sie dann nicht für iOS, Windows, JavaScript oder andere Plattformen verwenden.

Also Codename One auferlegt "weiche Einschränkungen", die Sie umgehen können, aber Sie sollten wahrscheinlich nicht so oft tun.

Ich schlage vor, How does Codename One work?