Was ich hier schreibe ist an sich viel zu viel für einen einzigen Blog Artikel, deshalb behalte ich mir hier nur eine kurze Zusammenfassung vor. Kommentieren und diskutieren werde ich dies noch in den nächsten Wochen.
Was ❓
Heute in den C++ Sessions der TechEd 2007 in Barcelona wurde ein Geheimnis gelüftet. Das war uns MVPs schon etwas länger bekannt aber leider war es uns bis heute durch NDA (non-disclosure aggreement) untersagt davon zu berichten.
Microsoft wird der MFC einen neuen gewaltigen Schub geben und seit Jahren die ersten wirklich gravierenden Erweiterungen verpassen. Das Ganze wird unter dem Namen MFCnext laufen.
In diesem Bog will ich nur summarisch aufzählen was alles an Neuem kommen wird:
- Office 2007 UI Stil. Ribbons und alles was dazu gehört
- Tabbed MDI
- Integration neuer Controls (Advanced button, Shell tree and list, Mask edit, Property list)
- Erweiterter Applikations Assistent
- Rückwärts kompatibel bis Windows 2000
- Docking wie wir es von Visual Studio her kennen
- Visual Styles (Skins)
- Die Standard Template Library wird um TR1 erweitert (tr1::shared_ptr, tr1:: mem_fn, tr1:: bind, tr1::regex, tr1::tuple, tr1::array, unordered containers hash-based, tr1::type_traits)
- Microsoft bekennt sich klar und offen zur weiteren Entwicklung und Unterstützung der nativen C++ Programmierung.
- und vieles andere mehr…
Die MFC wird sich in Anzahl der Klassen und Größe verdoppeln.
Wann kommt das ❓
Das Ganze wird bereits im März 2008 nachgeliefert, in einem Update für VS-2008. Ein Release Kandidat (RC) wird bereits im Dezember 2007 zur Verfügung stehen. So die bisherige Planung.
Die MFC ist tot… lange lebe MFCnext 😀
Weitere Infos:
Auch in Deutschland bei dieser Veranstaltung werden die Vortargenden aus Barcelona zu sehen und hören sein:
München 15.11.2007: Visual C++ 2008 und danach, Ask the Experts
Noch mehr Infos gibt es auch in dem Blog von Jochen Kalmbach, der live aus Barcelona von der TechEd 2007 berichtet.
Jetzt habe ich die ganze Zeit bei Jochen geschaut und nun warst Du doch schneller. 😉
Also das hätte ich nun wirklich nicht erwartet! Das wird den Anbietern von zusätzlichen Bibliotheken aber gar nicht gefallen. Mal schauen, wie sich die neuen Funktionen im Vergleich zu den etablierten Bibliotheken (wie z.B. Codejock) verhalten.
Bei Jochen ist zu lesen, dass der größte Teil von BCGSoft portiert wurde. Da muss MS wohl einiges dafür gezahlt haben, damit die ihre Geschäftsgrundlage aufgeben.
Das ganze BCGControlbar-Toolkit habe ich auch mal verwendet, mittlerweile bin ich aber froh, dass ich zu Codejock gewechselt bin. Das Klassenlayout von BCGSoft war um einiges schlechter als die Codejock-Klassen. Das wird sich durch die Übernahme in die MFC wohl auch nicht geändert haben.
Hmm, ich habe beide noch nicht gesehen. Kannst du mal ein Beispiel vom Klassendesign posten, was dich beim einen stört und beim anderen besser ist?
An einem Beispiel lässt sich das schwer beschreiben, hier kommen viele Dinge zusammen. Die Codejock-Sachen sind modularer aufgebaut und somit auch einfacher zu trennen. Ich habe mir z.B. eine eigene Dll zusammengestellt, die nur die von mir benötigten UI-Sachen beinhaltet.
Beim Umstieg damals habe ich festgestellt, dass sich die Codejock-Klassen leichter in die Anwendung einbinden lassen und das hier einiges durchdachter und übersichtlicher ist. Ein Grund dafür mag auch sein, dass das Xtreme Toolkit erst relativ spät auf den Markt kam (2003) und man hier ohne Vorlasten etwas neues machen konnte. Aber vielleicht sieht das ein anderer Programmierer auch etwas anders.
Also in diesem Sinne ist die BCG Lib auch modular. Man kann die DLL, die benötigt wird, nach belieben zusammenstreichen durch defines. Entsprechende Klassen werden dann ausgeklammert.
Man muss auch sagen, das die „alte“ Standard-Library ja komplett überarbeitet und in der neueren BCG Pro Library aufgegangen ist. Vieles wurde übernommen aber auch einiges wirklich verbessert.
Aber diese graphischen Libraries haben (wie ich immer wieder feststellen dürfen) viel mit persönlichem Geschmack zu tun. Beim testen der vorhanden Bibliotheken viel „bei mir“ Code Jock durch. Aber so ist das eben…
Komplett überarbeitet würde ich nicht sagen, die hauptsächliche Änderung zur Standardversion war ja eigentlich nur der neue Docking-Mechanismus. Der Rest wurde aus der Standardversion übernommen.
Für Dich hat es ja nun immerhin den Vorteil, dass Du die jährliche BCG-Subscription sparen kannst. 😉
Doch! Der gesamte ToolBar Bereich, basiert jetzt auf einer eigenen Klasse… Es hat sich schon vieles im Hintergrund geändert.
Die habe ich gerade erst erneuert… aber so schnell werden wir mit VS-2008 nicht produktiv gehen, dass ich mir das hätte sparen können.
Aber wie ich schon schreib: Diese Klassen sind und bleiben immer Geschmacksache…