.NET-Portierungstool MonoDevelop 2.8 mit neuen Funktionen für Mac-Entwickler

veröffentlicht von am 8. Oktober 2011 (0) Kommentare

Es ist wohl der Traum eines jeden .NET-Entwicklers: Wie portiere ich meinen existierenden C#-Quellcode mit möglichst wenig Aufwand auf weitere Plattform, sodass ich meine Software-Programme einer größeren Anwenderschar zur Verfügung stellen kann. Mit dem unter General Public License 2.1 stehenden Entwicklerumgebung MonoDevelop wird dieser Traum wahr, und ab sofort steht die verbesserte Version 2.8 zum Download zur Verfügung. Folgende wesentliche Neuerungen bietet das Portierungs- und Entwicklertool:

Der Quellcode-Editior wurde um neue Funktionen für das Projektmanagement erweitert. Das bedeutet unter anderem, dass MSBuild-Projektdateien mit Visual Studio durch das Update kompatibler und darüber hinaus angepasste Frameworks unterstützt werden. Auch neu: die Syntax lässt sich farblich individuell darstellen, indem man eigene Farbschemen festlegt und diese je nach Projekt einsetzt.

Mac-Entwickler können ab sofort Xcode 4 für das Schreiben ihres Quellencodes einsetzen. Somit können beispielsweise Interface-Builder-Dateien mithilfe von Xcode 4 editiert werden. Desweiteren sollen neue MonoTouch-Beispiele dabei helfen, Xcode 4 besser einzusetzen.

Außerdem wird der Testing-Services TestFlight unterstützt. Hierfür müssen Sie sich lediglich auf testflightapp.com anmelden, das zugehörige SDK in Ihre Build-Datei integrieren, dieselbe hochladen, testen lassen, fertig. Darüber hinaus lassen sich die Pfade zum Portierungstool MonoTouch und zum iOS SDK besser konfigurieren, es gibt neue Projektvorlagen für iPhone und iPad und die neue Storyboard-Funktion, die unter iOS 5 zur Verfügung steht, wird ebenfalls unterstützt.

MonoDevelop 2.8 können Sie von der Download-Seite auf Ihren Rechner laden. Unterstützt werden Windows, Mac OS X sowie die Linux-Distributionen openSUSE, SLE, Debian und Ubuntu.

Kategorien : Allgemein Tags : , ,

Apps unter Mac OS X multicore-tauglich machen

veröffentlicht von am 4. Dezember 2009 (1) Kommentar

Disclaimer: Dieser Beitrag ist ein Extrakt des Artikels “Mehrkern-Beschleuniger”, der in der mac-developer 1/2010 erschienen ist. Autor dieses Beitrags ist Maximilian Götzfried.

Ende August war ich bei Apple, um ein wenig mehr über deren Multicore-Beschleuniger Grand Central Dispatch zu erfahren. Diese in Snow Leopard implementierte Technik erlaubt es Anwendungsentwicklern, mit relativ wenig Aufwand, ihre Anwendungen multicore-tauglich zu machen. Und das ohne größeren Programmieraufwand, sondern lediglich mithilfe der C-API und den NSOperation-Klassen.

Das Tolle an GCD ist deren einfache Verwendung: Anstatt selbst Threads auf Basis von Tasks oder anderen Objekten zu erzeugen, kümmert sich GCD selbst darum. Das bedeutet aber für den Software-Entwickler, dass er sich für eine optimale Ausnutzung der vorhandenen Prozessorressourcen grundsätzlich Gedanken machen muss über die Programmlogik. Das Resultat seines überarbeiteten Programms sind einzelne Tasks, die je nach Programmablauf an die vorhandenen Multithreading-Queues übergeben werden können, wo sie von GCD bestmöglich verarbeitet werden.

Wie bereits angedeutet, stellt GCD zwei Möglichkeiten zur Verfügung, Programmcode zu multithreaden: Mithilfe der NSOperation-Klasse und der C-API. Beides soll kurz beleuchtet werden.

NSOperation: Warteschlangentechnik für asynchrone Tasks
Für das asynchrone, also zeitversetzte Ausführen von Anwendungen ist lediglich das Erstellen von NSOperation-konformen Objekten erforderlich, die dann an die zugehörige Warteschlange übergeben werden, die die Queue nach dem FIFO-Prinzip verarbeitet. Hierfür werden Tasks im Hintergrund ausgeführt, pausiert und zu Ende geführt. Es ist sogar möglich, die Anzahl der maximalen Threads festzulegen, was in Extremfällen ein einziger sein kann. Natürlich erlaubt GCD die ständige Rückkehr zum Main Thread.

weiterlesen…

Kategorien : Multicore Tags : , ,

Mac OS X 10.6 erleichtert die Multicore-Programmierung

veröffentlicht von am 25. August 2009 (2) Kommentare

Anfang Dezember vorigen Jahres hab ich schon mal ein wenig über die nächste OS-Version des Apple-Betriebssytems geschrieben. Und gestern erreichte mich eine E-Mail mit folgendem Inhalt:

Hallo,

vor wenigen Minuten solltest Du die Pressemeldung zu Mac OS X Snow Leopard bekommen haben. Am Freitag, 28. August, etwas früher als erwartet, ist die neue Version des fortschrittlichsten Betriebssystems der Welt erhältlich!

Wir möchten Dich noch am selben Tag zu einem kurzen Pressebriefing zur neuen Version des Desktop-Betriebssystems einladen, um Dir einige der Wichtigsten der neuen Verbesserungen und Technologien vorzustellen – von ‘Grand Central Dispatch’ (GCD) bis zur serienmäßigen Unterstützung für Microsoft Exchange.

Lust und Zeit aus erster Hand alles über Mac OS X Snow Leopard zu erfahren, mit den Fachleuten zu diskutieren und selbstverständlich im Anschluss an das Briefing eine Version der neuen Software mitzunehmen?!

Ob ich Lust und Zeit habe?! Na klar habe ich. Denn ich will endlich ein wenig mehr wissen über die geplanten Features des Schneeleoparden, wenngleich es kein ganz großes Update wird. Aber eins steht schon fest: Apple spendiert seiner sechsten OS-X-Version ein neues Tool, mit dem das Programmieren von Multicore-Anwendungen einfacher werden soll: Grand Central Dispatch (GCD).

GCD wird Bestandteil des OS-X-Kernels sein und damit nicht anwendungs-, sondern betriebssystem-nah arbeiten. Und das wiederum soll eine Vereinfachung der Multicore-Programmierung mit sich bringen, da nicht mehr einzelne Multithread-Anwendungen aufeinander abgestimmt werden müssen. Hierfür soll GCD die globale Verwaltung der notwendigen Threads übernehmen und nicht mehr benötigte Ressourcen automatisch freigeben.

weiterlesen…

Kategorien : Multicore Tags : , , ,

Mac OS X 10.5 (Leopard) fährt voll auf Multicore ab

veröffentlicht von am 18. Dezember 2008 (0) Kommentare

In Mac OS X 10.5 Leopard steckt eine Menge Multicore-Potenzial

J, ja, es ist schon ein paar Tage her, dass Mac OS X 10.5, auch bekannt als Leopard, das Licht der Welt erblickt hat. Aber ich habe gerade ein paar sehr interessante Details bezüglich der Multicore-Affinität des Apple-Betriebssystems entdeckt. Und so richtig viel darüber habe ich im Web nicht gefunden.

Hardware-seitig bietet Apple ja mit dem Mac Pro die volle Mehrkerntechnik von Intel: Acht Prozessorkerne beschleunigen vor allem die Bild- und Videobearbeitung, aber auch für Apple-eigene Anwendungen ist der Intel Xeon Prozessor, eine Quadcore-CPU mit maximal 3,2 GHz, nützlich.

Von dieser Mehrkern-Architektur profitieren unter anderem Programme wie Mail, das Adressbuch und die Verwaltung der Schriftensammlung, indem anfallende Aufgaben auf die vorhandenen Ressourcen möglichst optimal verteilt werden. Darum kümmert sich übrigens die neu programmierte Ablaufsteuerung von Leopard.

In Sachen Netzwerk hat sich Apple ebenfalls Gedanken gemacht: So wurde ein multithreading-fähiger Netzwerkstapel implementiert, der die Ein- und Ausgabeanfragen des LANs schneller verarbeiten kann. Außerdem wurde die indizierte Suchfunktion Spotlight beschleunigt, genauso wie die Wörterbuchfunktion von Mac OS X 10.5. Dies hat vor allem mit der objektorientierten API Cocoa zu tun, die ebenfalls für den Multicore-Betrieb optimiert wurde.

weiterlesen…

Kategorien : Multicore Tags : , ,

Apple Mac OS X 10.6 mit hohem Multicore-Potenzial

veröffentlicht von am 1. Dezember 2008 (1) Kommentar

John Hubbard scheint ein ziemlich kluger Kopf zu sein. Denn erstens beschäftigt er sich bei Apple als Director of Unix Technologies mit sehr komplexen und ernsthaften Dingen. Und zweitens hat er Mitte November auf einer Konferenz in San Diego bemerkenswerte Dinge über Intel und Multicore gesagt. Beispiele gefällig?

Forget everything you thought you knew about multi-threaded programming (and, as it turns out, most developers didn’t know much anyway).

The kernel is the only one who really knows the right mix of cores and power states to use at any given time – this can’t be a pure app-driven decision.

We need new APIs and mechanisms for dealing with this incoming meteor.

Wie gut, dass sich Intel über Letzteres bereits Gedanken macht und Tools wie Intel TBB und Intel Parallel Studio bietet, mit deren Hilfe die Multicore-Programmierung deutlich erleichtert werden kann.

Weniger schlau während seines Vortrags war allerdings die Folie Nummer 5, auf der er (ganz inoffiziell natürlich) den Erscheinungszeitraum der nächsten OS-X-Version 10.6 aka Snow Leopard bekannt gegeben hat, nämlich das erste Quartal 2009. Anfang Juni während der Apple-Entwicklerkonferenz WWDC’08 war noch von ungefähr einem Jahr die Rede, bis Mac OS X 10.6 in die Läden kommt. Tja, dumm gelaufen!

Und was hat das alles mit Multicore-Programmierung zu tun? Nun, in der nächsten Version des Apple-Betriebssystems wird ganz viel Multicore-Unterstützung stecken. Leider gibt Apple noch nichts Konkretes raus (und John leider auch nicht), aber einige grundsätzliche Dinge sind heute schon klar:

weiterlesen…

Kategorien : Multicore Tags : , ,

Apple-Software mit Intel-Tools optimieren

veröffentlicht von am 5. November 2008 (0) Kommentare

Seit dem Prozessor-Switch seitens Apple von IBM- auf Intel-CPUs Anfang 2006 ist Stück für Stück eine kleine, aber sehr exquisite Entwicklergemeinde in den Fokus von Intel gerückt: Mac-Programmierer, die mithilfe von Xcode und Cocoa neue Anwendungen erschaffen. Mit dabei sind natürlich auch Intel-Tools, die diesen Software-Entwicklern dabei helfen sollen, ihre Programme bestmöglich auf die Intel-Plattform abzustimmen.

Dazu zählt beispielsweise der C++-Compiler, den es in einer Professional und Standard Edition gibt. Vor allem die Profi-Variante hat es in sich: Volle Multithread-Unterstützung für paralleles Programmieren, was zum Beispiel automatisches Multithreading umfasst, aber auch Vektorisierung, OpenMP oder Loop Unrolling. Darüber hinaus bietet die Compiler-Suite leistungsstarke C++-Bibliotheken für noch mehr Parallelismus, mathematische Funktionen und Multimediaanwendungen.

Aber nicht nur den Mac-kompatiblen C++-Compiler hat Intel zu bieten, sondern auch Intel Threading Building Blocks, Intel Integrated Performance Primitives und Intel Math Kernel Library, die allesamt perfekt auf den Intel C++-Compiler für Mac OS X abgestimmt sind.

weiterlesen…

Kategorien : Multicore Tags : , , , ,