iOS Apps ?

Für Fragen rund um die Ide und zum Debugger
Paulifan1000
Beiträge: 42
Registriert: Mo 27. Aug 2012, 20:23
OS, Lazarus, FPC: Windows 10, L 1.4.4 FPC 2.6.4
CPU-Target: 32Bit 64Bit
Wohnort: Hamburg
Kontaktdaten:

iOS Apps ?

Beitrag von Paulifan1000 »

Wie kann man mit Lazarus iOS Apps Programmieren?
Was muss ich Downloaden?
Wie bekomme ic es auf mein iPhone(4)?
Muss ich dazu eine neue Sprache lernen?

LG
Paulifan1000
Sei immer du selbst
Ausser du kannst ein Einhorn sein
Dann sei ein Einhorn

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6868
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: iOS Apps ?

Beitrag von af0815 »

Vermutlich einen Mac kaufen und andere Sprache lernen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: iOS Apps ?

Beitrag von Christian »

vermutungen bringen die OPs immer wahnsinnig weit.

Du brauchst einen Mac um XCode ausführen zu können soweit ist die Vermutung richtig.
Man kann aber mit freepascal unter macos/xcode entwickeln eine neue Sprache musst also nicht lernen.
Ein LCL Widgetset gibts aber für iOS nicht, ist aber auch ganz OK denn die Controls dort sind recht verschieden zu den Standartcontrols die Lazarus unterstützt.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6868
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: iOS Apps ?

Beitrag von af0815 »

Kommt man mit den Apps auch in den Store ? Sprich kann man den App Store Review Guidelines entsprechen ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: iOS Apps ?

Beitrag von mschnell »

Siehe auch http://wiki.freepascal.org/iPhone/iPod_development
Christian hat geschrieben:Ein LCL Widgetset gibts aber für iOS nicht, ist aber auch ganz OK denn die Controls dort sind recht verschieden zu den Standartcontrols die Lazarus unterstützt.
Ob das "ganz OK" ist, darüber kann man natürlich trefflich streiten.

Embarcadero geht ja tatsächlich dieses Problem durch ein völlig neues, zur VCL komplett inkompatibles System zu Gestaltung der Oberfläche an: "FireMonkey". Portieren viorhandener Programme ist dadurch sehr erschwert.

Mit "Custom Drawn" ist ein LCL Widget Type in Entwicklung, der sich relativ leicht auf neue Widget Sets des Zielssystems anpassen lässt und dadurch mit vertretbarem Aufwand die Möglichkeit zur Verfügung stellt, Programm mit LCL in einem vollständig ausgestatteten System (Windows, Linux, Mac) zu entwickeln und "normal" inklusive GUI zu testen und - wenn man sich auf den beschränkten Satz an visuellen Controls beschränkt - für das Zielsystem zu übersetzen und dort laufen zu lassen. Natürlich ist die GUI des Programms dann langsamer und möglicherweise weniger hübsch als eine auf den Ziel Widget-Set optimal angepasste GUI.

Custom Drawn kann u.a. bei der Entwicklung von Apps für Android und iOS hilfreich sein.

siehe http://wiki.freepascal.org/Custom_Drawn_Interface
hier steht: " LCL-CustomDrawn-iPhone This is planned, but not yet started. "

-Michael

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: iOS Apps ?

Beitrag von Socke »

mschnell hat geschrieben:Embarcadero geht ja tatsächlich dieses Problem durch ein völlig neues, zur VCL komplett inkompatibles System zu Gestaltung der Oberfläche an: "FireMonkey". Portieren viorhandener Programme ist dadurch sehr erschwert.
Ich frage mich dann immer: Welche Anwendung möchte ich von einem Desktop (Windows/Linux/Mac) auf ein Smartphone (iPhone/Android) oder einen Tablet-PC (iTab/Android Tablets) portieren?

Ein Spiel, das Gebrauch von Bewegungssensoren macht, werde ich ganz sicher nicht auf einem Desktop spielen wollen. Auch sieht der Firefoxbrowser unter Android ein wenig anders aus.

Meine Schlussfolgerung: Für verschiedene Bedienkonzepte benötige ich mindestens verschiedene, angepasste Oberflächen. Dank einer sauberen Trennung zwischen GUI und Anwendungslogik ist das auch kein übertriebener Aufwand. Die einzige Möglichkeit, die hier schmerzt: die Portierung von Android nach iOS.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: iOS Apps ?

Beitrag von mschnell »

Eben: ein GUI Editor für alles wäre ideal. Das geht natürlich nicht ohne Verluste. Deshalb ist das, was Lazarus (hoffentlich) bald kann ideal. Für einfache GUI aufgaben nehme man die "normale" LCL (u.U. mit Beschränkung auf eine Teilmenge der verfügbaren Widgets). Das läuft dann überall. Wenn es "toll" werden muss, kann man speziell für eine Geräteklasse entwickeln und muss dann den entsprechenden Portierungs-Aufwand in Kauf nehmen.

Embarcadero ist da wesentlich weniger Flexibel. Soweit ich weiß, ist VCL für iOS (und Android und CGI, ...) völlig außen vor.

-Michael

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: iOS Apps ?

Beitrag von Christian »

Wenn man sich ernsthaft damit beschäftigt merkt man eben genau das man für iOS eine eigene GUI benötigt.
Die lässt sich im XCode wirklich am besten zusammenbaun iOS ist nunmal etwas komplett anderes als eine Desktop Anwendung, und Apple lässt Apps die nicht den Style Guidelines entsprechen auch schnell mal nicht zu.
Ich denke das ist auch der Grund warum es kein Widgetset gibt weil jeder der sich ausreichend mit iOS beschäftigt um ein Widgetset zu baun schnell merkt das man das gar nicht benötigt.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: iOS Apps ?

Beitrag von mschnell »

Das gilt doch für Android sicherlich genauso. Und da gibt anscheinend es schon einen funktionieren Custom Drawn Widget Type.

-Michael

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: iOS Apps ?

Beitrag von Socke »

mschnell hat geschrieben:Das gilt doch für Android sicherlich genauso. Und da gibt anscheinend es schon einen funktionieren Custom Drawn Widget Type.
Selbstverständlich.

Für Android gibt es in Free Pascal 2 Wege:
  • Eine native Anwendung, die von einem Java-Wrapper ausgeführt wird.
  • Als Zielsystem JVM, und direkt Javabytecode erzeugen
Beides ist recht unglücklich:
Bei Nummer 1 hat man schon Probleme, wenn sich die CPU-Architektur von ARM 7 zu x86 ändert.
Bei Nummer 2 gibt es einige Verbiegungen in der Sprache. Das entspricht einem eigenen Pascal-Dialekt und hat mit "Write once, compile everywhere" nicht mehr so viel zu tun.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: iOS Apps ?

Beitrag von mschnell »

Socke hat geschrieben:Bei Nummer 1 hat man schon Probleme, wenn sich die CPU-Architektur von ARM 7 zu x86 ändert.
Die Notwendigkleit das projekt neu zu kompilieren sehe ich nicht als "Problem" an, manelnde Funktioninalität, Kompatibilität oder Stabilität des für das Zielsystem zu verwendenden "Interface" aka "LCL-Widget-Type" aber schon.
Socke hat geschrieben:Bei Nummer 2 gibt es einige Verbiegungen in der Sprache. Das entspricht einem eigenen Pascal-Dialekt und hat mit "Write once, compile everywhere" nicht mehr so viel zu tun.
Ist das ein vorübergehender Zustand oder soll das so bleiben ?

-Michael

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: iOS Apps ?

Beitrag von Socke »

Damit schweifen wir jetzt ein wenig von iOS zu Android ab, aber ...
mschnell hat geschrieben:
Socke hat geschrieben:Bei Nummer 1 hat man schon Probleme, wenn sich die CPU-Architektur von ARM 7 zu x86 ändert.
Die Notwendigkleit das projekt neu zu kompilieren sehe ich nicht als "Problem" an, manelnde Funktioninalität, Kompatibilität oder Stabilität des für das Zielsystem zu verwendenden "Interface" aka "LCL-Widget-Type" aber schon.
Die Einstellung "dann kompiliere ich das eben neu" sehe ich als Entwicklerkrankheit an :D. Es stimmt schon: einmal kompilieren reicht aus und die Software läuft das wo sie soll. Spätestens bei der Distribution gibt es aber Mehrarbeit: Bei nur-Java-Apps gilt: Minimum SDK angeben und fertig. Bei nativen Anwendungen musst du nachhalten, für welche Geräte ein Paket übersetzt ist. Für jedes Paket muss die Beschreibung gepflegt werden, Updates erstellt und veröffentlicht werden. Feedback von Benutzer gibt zu "unterschiedlichen" Paketen, etc.
Socke hat geschrieben:Bei Nummer 2 gibt es einige Verbiegungen in der Sprache. Das entspricht einem eigenen Pascal-Dialekt und hat mit "Write once, compile everywhere" nicht mehr so viel zu tun.
Ist das ein vorübergehender Zustand oder soll das so bleiben ?[/quote]
Das kommt wohl auf die spezifischen Elemente an.

Namespaces (Java-Packages) haben in Pascal wenig Sinn (bzw. sind über Units, d.h. eine Ebene, realisiert).
Inline-Klassen (Klassen in Klassen) kann man auch in normalen Pascal verwenden (ist bisher eher unüblich).
Ansonsten weiß ich gerade nicht so gut Bescheid.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Paulifan1000
Beiträge: 42
Registriert: Mo 27. Aug 2012, 20:23
OS, Lazarus, FPC: Windows 10, L 1.4.4 FPC 2.6.4
CPU-Target: 32Bit 64Bit
Wohnort: Hamburg
Kontaktdaten:

Re: iOS Apps ?

Beitrag von Paulifan1000 »

Was ich total vergessen hab zu sagen,
Seit der neuinstallation meines MBP's (2011) habe ich Lazarus am laufen. Was muss ich jetzt wo und wie einstellen? und wie bekomme ich das auf mein Handy? :roll:
Sei immer du selbst
Ausser du kannst ein Einhorn sein
Dann sei ein Einhorn

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: iOS Apps ?

Beitrag von Christian »

W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Paulifan1000
Beiträge: 42
Registriert: Mo 27. Aug 2012, 20:23
OS, Lazarus, FPC: Windows 10, L 1.4.4 FPC 2.6.4
CPU-Target: 32Bit 64Bit
Wohnort: Hamburg
Kontaktdaten:

Re: iOS Apps ?

Beitrag von Paulifan1000 »

Christian hat geschrieben:http://wiki.freepascal.org/iPhone/iPod_development
:mrgreen: Yo Danke, :mrgreen:
Das wird mir bestimmt helfen.
Sei immer du selbst
Ausser du kannst ein Einhorn sein
Dann sei ein Einhorn

Antworten