code sharing iOS und OS X project

hallo

wie kann man code sparen für ein iOS und OS X project?
es gibt ja noch unterschiedliche lassen für zb eine listbox/iolistview.

mein ziel ist es quasi einen Prototypen auf Osx zu bauen, den ich dann
zu iOS portiere, das kompilieren und rüberbringen aufs iphone
daher zu lang und man kann in xoxo nicht auf dem iphone Debuggen.

oder kann man die sourcecodegenerierung so stoppen, das man
ggf doch mit xcode Debuggern kann…

bin gespannt
andreas

Du merkst es an der Vielzahl von Antworten – so einfach ist das vermutlich nicht. :wink:

Einerseits steht das neue Framework unter OS X nur eingeschränkt zur Verfügung, in iOS ist es obligatorisch. D. h., du benötigst auf dem Mac jede Menge Konvertierungen, die unter iOS hinfällig sind.

Und dann, wie von dir angemerkt, sind die Controls auf beiden Plattformen mitunter sehr unterschiedlich. Im Kern, also auf API-Ebene, gibt es andererseits viel mehr Ähnlichkeiten. Du würdest m.E. nicht drumrumkommen, dir dann eigene Libraries für iOS und OS X zu stricken, die sich auf gleiche Art ansprechen lassen. Da eine sanfte Transformation zum neuen Framework für die anderen Plattformen angekündigt ist, wird das früher oder später auf Xojo-Ebene der Fall sein. Wobei grundlegende Unterschiede (Einzelview vs. Multifenster etc.) dann immer noch einiges an Anpassung vonnöten machen werden.

hallo ulrich

wird ist neue framework nur auf ios oder auch im web und in console-projekte genutzt?

Hallo Andreas,
siehe http://developer.xojo.com/core
Das neue Freamework steht auf allen Plattformen zur Verfügung. Allerdings liefern die Controls der Web- und Desktop-Plattformen “alte” Datentypen zurück – ein TextField.Text z.B. String statt Text. Das heißt, für Kompatibilität müsstest du dir Konvertierungen / Subklassen stricken, damit auch die Desktop-Steuerelemente die Xojo.Core.Datentypen erwarten. Und darüberhinaus die erwähnten Unterschiede im Handling von Steuerelemente duch Subklassen vereinheitlichen, damit du deine Kompatibilität erreichst. Das wär eine ganz schön große Aufgabe, und es stellt sich die Frage, ob sie sich nicht eh im Laufe der Zeit, wenn das neue Framework stärker in die alten Plattformen integriert wird, löst.