Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
Unter OS X Entwickeln...was gibt es da?
Unter OS X Entwickeln...was gibt es da?
bluefisch200
28.04.09
13:56
Hallo,
ich bin nun seid mehreren Jahren Softwareentwickler für Microsoft Windows im Bereich .NET sowie C und Visual Basic...
Nun möchte ich jedoch damit beginnen auch unter OS X Software zu entwickeln.
Nur stehe ich total auf dem Schlauch...was für Technologyen und Sprachen existieren für OS X welche von Beginn an auf jedem System zu finden sind? Also nichts wie Mono...
Was für IDEs gibt es? Irgendwas das an die Einfachheit von Visual Studio ran kommt?
Wie gesagt ich brauche irgendwie ein Sprungbrett in die Materie und stehe momentan vor einer Wand...Google wollte mir nicht helfen...aber möglicherweise auch nicht weil ich wie immer vollkommen falsch suche
Hilfreich?
0
Kommentare
|<
1
2
Stefab
05.06.09
10:49
ExMacRabbitPro:
Oh, hab mich doch geirrt. Es ist möglich, den PushButton1 vom PushButton2 aus zu betätigen, in dem man einfach schreibt:
PushButton1.Push
Diese Methode gibt es nämlich, wie ich gerade gesehen habe. Man sieht das auch deutlich visuell im Programm. Drück ich den Button 1, dann kommt nur die MessageBox, drückt man den 2. Button, leuchtet der 1. auch blau auf und dann erscheint die MessageBox.
Aber wer macht das schon so, nur um den Code darin aufzurufen? Wäre das ganze ein komplexeres Programm, dann würde eben nicht nur der Code durchlaufen, sondern man würde zB. einen Button drücken, woraufhin einige andere gedrückt werden, Menupunkte aufspringen, usw. Abgesehen davon, dass das extrem ausbremsen würde, sieht das wohl äusserst seltsam für den User aus. Von da her glaub ich kaum, dass das irgendjemand Vernünftiger so machen würde... (ausser in speziellen Fällen, wie einer visuellen Anleitung, wie man das Programm bedienen soll, oder so)
Hilfreich?
0
Stefab
05.06.09
11:07
Wenn der PushButton1 da ist (normalerweise gibt man denen natürlich sinnvolle Namen), und du irgendwo im Code schreibst: PushButton1. und dann Tabulator drückst, werden dir alle Methoden aufgezeigt, die für das Objekt zur Verfügung stehen.
Du schriebst: PushButton1_Action()
wie kommst du auf den Syntax mit "_"? Das ist mir unbekannt, für RB. Trotzdem scheint es tatsächlich für ein komiliertes Programm zu funktionieren?!
Was dann aber angezeigt wird, wenn man es in der IDE startet, ist überhaupt seltsam:
Sub Action()
#pragma reset
MsgBox "Pushed"
End Sub
Wie kommt da eine Pragma-Direktive rein?? Und das ganze wird auch unüblich dargestellt.
Und danach scheint das ganze REALBasic zu spinnen! Zeigt die Nachricht bei Programmstart an, übernimmt keine Änderungen mehr am Code, usw. (zumindest die 2007er Version)
Was ist das für ein Geheimnis?
Hilfreich?
0
Stefab
05.06.09
11:23
PS: Mir kam der Begriff "Eventmethode" schon ziemlich seltsam vor. In REALBasic gibt es entweder "Eventhandler" (kurz Events) ODER "Methoden", was 2 verschiedene Dinge sind.
Dieser Befehl PushButton1_Action() ist offenbar irgend etwas, das so absolut nicht vorgesehen ist. Vielleicht irgendein Überbleibsel aus den ersten RB-Versionen, oder Überbleibsel von dem früher möglichen Import von VB6-Projekten. Oder es ist irgendwas, was die Entwickler von RB für irgendwelche Testzwecke eingebaut haben. Ist das irgendwo dokumentiert, oder eher so etwas, wie ein Easteregg? Bringt mich gerade ziemlich durcheinander. Ein seltsames Rätsel... (dabei hab ich Jahrelang mit RB programmiert, Angefangen von Version 3.x bis 2007-5, am meisten verwendet wurde von mir wohl Version 5.5(.5))
Hilfreich?
0
ExMacRabbitPro
05.06.09
12:12
Stefab
Sorry, ich wollte Dich nicht erschrecken.
Offenbar kocht RB unter der Haube auch nur mit Wasser und die "Eventhandler" - so wie sich die Dinger da wohl nennen, werden vom Laufzeitsystem scheinbar in diese "Objektname_Event()" Konstrukte übersetzt. Die sollte man aber wirklich nicht aus seinem eigenen Programm aufrufen - das richtet scheinbar ein Chaos an. War wohl purer Zufall (geraten) dass ich das gefunden habe. Hat aber wie gesagt, mit unserer ursprünglichen Diskussion (Applikations-Architektur), nix zu tun.
Ich möchte mich an dieser Stelle auch gerne ausklinken - da ich mich wirklich nicht mit den RB Internas befassen will.
Hilfreich?
0
ela
05.06.09
14:49
Das mit dem "Code in die GUI-Events" ist richtig, das sollte man wirklich um alles in der Welt vermeiden.
Das ist aber wie mit Delphi (das ich sehr gut kenne - gibt's leider nicht für Mac). Man kann das so schlampig programmieren - muss man aber nicht
Ich mache es normalerweise so, dass ich Klassen definiere in denen die Logik steckt. z.B. eine Klasse für eine Adresse. Diese hat Funktionen um die Adresse zu laden, speichern, importieren, exportieren etc. und besteht ggf. aus kleineren Unterklassen (z.B. einer Telefon-Listen-Klasse etc.)
Würde man nun in einem Button.Click eine Adresse laden wollen, so würde ich dort nur reinschreiben:
Button.Click
{
MeinAdressenObjekt.Load(parameter);
ShowAdresse(MeinAdressenObjekt);
}
Das Objekt lädt sich selbst (komplett ohne visuelle/GUI Dinge)
Eine Routine nimmt das Objekt und zeigt die Inhalte am Bildschirm an.
Auf diese Weise kann man das AdressenObjekt an zig stellen verwenden und die Daten entweder am Bildschirm anzeigen oder eben drucken, als Webseite aufbereiten oder was einem sonst noch so einfällt - und man kann es in zig Anwendungen nutzen weil die reine Logik in der Klasse gekapselt ist.
Bei XCode wird man zu so einer Logik eher gezwungen. Im Grunde auch nicht schlecht. Ich finde es aber auch in großen Teilen recht unübersichtlich - vor allem wenn man im InterfaceBuilder mit den Verknüpfungen arbeitet um Objektdaten zu GUI-Elementen zuzuordnen und Events an Delegates etc.
Hilfreich?
0
Stefab
07.06.09
12:42
ela: Bei REALBasic wird man eigentlich auch so gut wie gezwungen, Code, den man mehrmals verwenden will (zB. etwas, dass man von verschiedenen Events aufruft), zumindest in eine Methode schreibt. (wenn man dafür keine eigene Klasse anlegt, wird eine Methode im Fenster erstellt, welches wiederum eine Instanz der Klasse Window ist).
Man kann zwar in machen Fällen (wie in dem Beispiel mit den 2 Buttons) indirekt das eine oder andere Event aufrufen, aber direkt ist keines aus dem RB-Code heraus erreichbar, in dem Fall der Buttons geht es nur, weil man PushButton1.Push den Button tatsächlich betätigt (was beim Ausführen des Programms auch visuell sichtbar ist), spätestens dann, oder wenn man Code von anderen Events (zB. Open, MouseEnter, MouseExit, Close, etc.) von wo anders aufrufen will, wird man feststellen, dass man diesen lieber in eine Methode schreibt und die Methode in den diversen Events aufruft.
Wird das Programm etwas komplexer, kommen dann die eigenen Klassen ins Spiel. Man kann natürlich auch Apps ohne eigene Klassen programmieren und statt dessen auf die (durchs Drag&Drop zusammengebaute Fenster) vorhandenen GUI-Klassen zurückgreifen, auf lange Sicht macht das aber wenig Sinn.
Die Klassen und alles weitere funktioniert dann genauso, wie die GUI Elemente, man schreibt den Code in diese hinein, man erstellt eine Klasse (über die IDE), dort dann auch per IDE zB. eine Methode, Eigenschaft oder sonst was, klickt diese dann wieder an und schreibt dort seinen Code rein.
Um nicht die Übersicht zu verlieren hat man natürlich eine volle Suche, die sowohl Suchergebnisse in Code, als auch Klassen, Eigenschaften, Methoden, Konstanten, usw. auflistet.
Hilfreich?
0
|<
1
2
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Mac ausschalten?
Facebook & Instagram: Zuckerberg kündigt Aus de...
Mac OS X: 25 Jahre Aqua, 25 Jahre Dock
Apple veröffentlicht iOS 18.2, iPadOS 18.2 und ...
20 Jahre Mac mini
Erscheint das neue MacBook Air M4 früher als an...
iPad Pro M4: Hinweise auf geringere Nachfrage
Mac mini mit M4