![]() |
ObjectPascal mit Oxygene verarbeiten
Da frag ich doch gleich mal zu Oxygene:
Die Wiki zeigt jede Menge völlig neue, andersartige (im Vergleich zu Objekt Pascal bis Delphi 2006) Sprchkonstrukte. Kann denn der Oxygene Compiler auch die von Objekt Pascal schon bekannten Sprachkonstrukte übersetzen? |
AW: Delphi versus Lazarus(FPC) versus Oxygene
Zitat:
![]() Oxygene ist eine .Net Sprache (ok, eigentlich noch mehr seit Cooper und Nougat), die aber von der Syntax "pascalisch" ist (begin/end statt geschweiften Klammern etc). Als IDE wird die VisualStudio Shell benutzt, somit hat man schonmal fast alles, was nen Visual Studio so kann zuzüglich der Dinge, die RemObjects noch entwickelt hat (wie z.B. ![]() |
AW: ObjectPascal mit Oxygene verarbeiten
Spannende Frage, die ich mal vom FreePascal-Thema abgetrennt habe.
:roll: |
AW: ObjectPascal mit Oxygene verarbeiten
Zitat:
|
AW: ObjectPascal mit Oxygene verarbeiten
Aha, danke, dann ist die FRage für mich erst mal beantwortet. Dann ist also Oxygene eine von ObjectPascal verschiedene Sprache mit Pascal Syntax. Begin End statt {} u.a.
|
AW: ObjectPascal mit Oxygene verarbeiten
Zitat:
Im Gegensatz zu Delphi wurden bei dieser Weiterentwicklung aber alte Zöpfe konsequent abgeschnitten. |
AW: ObjectPascal mit Oxygene verarbeiten
Zitat:
|
AW: ObjectPascal mit Oxygene verarbeiten
Oxygene ist ein ObjectPascal-Dialect
|
AW: ObjectPascal mit Oxygene verarbeiten
Wie müsste man vorgehen, wenn man ein VCL-Projekt konvertieren wollte ?
|
AW: ObjectPascal mit Oxygene verarbeiten
Zitat:
Lange Antwort: Erstmal die VCL rauswerfen. Oxygene ist ein Object Pascal Dialekt der etliche Spracherweiterungen (Code Contracts, Aspektorientierte Programmierung, Futures, Inline Interfaces, Duck typing) mit sich bringt. Der Compiler kommt hat drei unterschiedliche Backends: Einmal .NET/Mono (IL-Code), einmal Java (Java bytecode) und einmal Cocoa (Nativer Mac- / iOS-Assembly-Code). Da es die VCL nicht für .NET, Java und Cocoa gibt, wirst Du dort kein Land sehen. Oxygene wurde im übrigen für eine Grundlegend andere Herangehensweise als Delphi entworfen: Oxygene istausdrücklich NICHT dafür da, einmal Code zu schreiben, für Windows/Linux (.NET/Mono), Mac und iOS zu kompilieren und happy zu sein. Das ist die grundsätzlich falscheste Art von Cross-Platform Entwicklung die man machen kann. Oxygene ist dafür entworfen, seine Business-Logik einmal zu schreiben, und dann für die jeweilige Plattform, unter Nutzung der dort verfügbaren nativen Controls (z.B. Windows Forms, WPF oder ASP.NET für .NET / Mono, die nativen Mac- bzw. iOS Controls für Cocoa und z.B. SWING für Java) das GUI gezielt für die gewünschte Plattform zu erstellen. |
AW: ObjectPascal mit Oxygene verarbeiten
Danke! Für beide Varianten :-).
Habe da noch eine Frage: Kann das System C# und Pascal-Code gemischt einsetzen? |
AW: ObjectPascal mit Oxygene verarbeiten
Zitat:
|
AW: ObjectPascal mit Oxygene verarbeiten
Jain. Innerhalb eines einzelnen Projektes: Nein.
Du kannst aber auch nicht C# und VB.NET Files im gleichen Projekt haben. Innerhalb einer Solution aber ja, problemlos. Du kannst ein Projekt z.B. als Bibliothek in C# schreiben, ein weiteres in VB.NET, eines in F# und eines in Oxygene. Dazu brauchst Du allerdings ein Visual Studio mindestens in der Professional-Edition. Hast Du das nicht, sondern z.B. nur ein VS-Express Edition für C#, dann klappt das nicht innerhalb der gleichen Solution. Dann kannst Du mit der C# Express deine Bibliothek bauen, und dann das Assembly aus dem Oxygene-Projekt heraus verwenden. |
AW: ObjectPascal mit Oxygene verarbeiten
Ok, auch dafür erstmal Danke.
Inzwischen liegt hier auch VS-Prof. Wie das mit Delphi weitergeht, da bin ich mir im Moment nicht im klaren. Für heute war es das :-) |
AW: ObjectPascal mit Oxygene verarbeiten
Zitat:
Delphi ist eben ein RAD-Tool, und imho eines der Besten (für diesen Zweck). Powerbuilder ist noch so ein Kandidat. Aber ist eben gefrickelt. RAD und MVVM/MVC beißt sich nun einmal. |
AW: ObjectPascal mit Oxygene verarbeiten
Zitat:
Letzen Endes muss aber jeder selber entscheiden ob er mit RAD schneller am Mark ist, und ihn dann hinterher wegen der fehlenden Anwendungsarchitektur und starken Kopplung im Code die Wartungskosten auffressen, oder ob er etwas länger braucht, dafür aber eine bessere Architektur, automatisiert testbaren Code und deutlich geringere Wartungskosten hat. Zudem lassen sich bei ordentlicher Architektur neue Anforderungen schneller umsetzen bzw. wenn die Architektur doch mal nicht passt, sich diese umbauen und durch Unit- und Integrationstests garantieren, dass der Rest der Anwendung immer noch das tut, was sie soll. Aber was quatsche ich hier um Binsenweisheiten rum... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz