Visual C# Team Photo

So sehen Sie aus :-)

CSharpTeam

[via: Charlie Calvert's Community Blog]


Microsoft MVC

Microsoft MVC beschreitet einen alternativen Web Anwendungen mit ASP.NET Webseiten zu entwickeln. Der Name ist Programm, Model, View und Controller werden vollwertige Entitäten. Folgendes Video bietet eine kurze musikalische Einführung :-)

Das WebForm Model soll nicht abgelöst werden, sondern lediglich durch eine eigenständig supportete Lösung ergänzt werden. WebForm und MVC Controls (die erst noch entwickelt werden müssen) werden nicht kompatibel sein. Konzepte wie ViewState und den damit verbunden Zugriff auf die vom Benutzer manipulierten Daten über Controls kennt das MVC Framework nicht.

CropperCapture[47]

Der Einsatz von MS-MVC sollte also nicht Paradigma sein, sondern wohl überlegt. In Szenarien die eine große Anzahl von Benutzerzuständen und unterschiedliche Controls beinhalten ist der klassische WebForms Ansatz, der wahrscheinlich deutlich schnellere Entwicklungsweg. Abzuwarten bleibt auch die Qualität der Visual Studio Integration, bei der Arbeit mit Webdesignern, eines der großen Pluspunkte von ASP.NET.

Nicht zu vergessen, das die Trennung von Model, View und Controller auch schon heute mit Webforms zu erreichen ist, wenn auch nur auf logischer Ebene.

CropperCapture[48]

Interessant ist, das Microsoft Implementierung ist auf den ersten Blick MonoRail (http://www.castleproject.org/) erstaunlich ähnlich ist. Eine Politik und gänzlich anders als in der Vergangenheit (Beispiel NUnit vs. VS Testcases) ist, das auch die Koexistenz und sogar Integration mit dem MonoRail und Castle Development Stack angedacht ist.

Nicht nur das Microsoft nun auch zum ersten Mal im .NET Umfeld einen Entwickler eines Open Source Frameworks (Subsonic) auf der Gehaltsliste hat, der auch dafür bezahlt wird, an seinem alten Projekt (mit der gleichen Restriktionsfreien "Mozilla Public License" Lizenz) weiterzuarbeiten, Microsoft hat auch in letzter Zeit ein Reihe von Community Persönlichkeiten, wie Scott Hanselman und Philip Hack angeworgen. Es verspricht also weiter Spass zu machen mit .NET und insbesondere ASP.NET arbeiten zu dürfen. (Unabhängig davon, dass WPF der Hammer ist :-)

Mehr Links:


Neuer Design-Blog im Umlauf

CropperCapture[46]

Andrej hat die Flucht nach vorn ergriffen, nach dem Ihm dieses kleine Sammelsurium an Notizen ihm zu techniklastig geworden ist und eine eigenen Blog ins Leben gerufen.

Sein erster zweiter Post dreht sich um die Phasen eines Web-Design Projekts. Sehr lesenswert.


Mashable 20 UML-Tools

Eine Liste von 20 UML Tools auf Mashable: http://mashable.com/2007/11/21/20-uml-tools/

CropperCapture[45]

Nach einer kleinen Odyssee, sind wir mittlerweile bei Visual Paradigm gelandet. Wobei wir auch nicht unzufrieden waren mit Enterprise Architect und Poseidon UML.


Eclipse Benutzer mehr Hilfebedürftig als VS Anwender

Untiges Bild zeigt deutlich, dass Eclipse Benutzer mehr Hilfe durch Google in Anspruch nehmen müssen und einen höheren Informationsbedarf haben als die Visual Studio Anwendergemeinde.

CropperCapture[41]

Die Recherche belegt dies imposant. Eclipse Entwickler sind offensichtlich auch beeinflusst von astronomischen Ereignissen. Ihr Hilfebedarf wächst mit Mond und Sonnenfinsternissen maßlos. Die Frage für IT-Entscheider muss also lauten, ob Sie sich im harten Projektalltag auf Entwicklerteams verlassen möchten, die derartig Bedingungsfühlig sind.


Songza - alternatives Navigationskonzept

Das Kontext Menu in Web-Applikationen ist noch rar. Zwar gibt es vereinzelte Vertreter. Auf Songza ist nun ein besonderer zu bestaunen:

Songza-Context-Navigation-Detail

Das sogenannte „Pie-Menü“ öffnet sich bei Klick auf einen Suchtreffer. Die gesamte Interaktion geschieht auf einer Seite.

Songza-Context-Navigation

Ein gutes Beispiel dafür, dass trotz oder gerade wegen der Limitierungen im Web, außerordentlich effiziente und benutzerfreundliche Oberflächen sich immer weiter verbreiten.


substr() vs String.Substring()

Eine der Sachen, die ich ständig mit der .NET SubString Methode machen möchte ist es, negative Werte anzugeben:

So wie:

CropperCapture[13]

und:

CropperCapture[15]

wie hier in der PHP Hilfe gezeigt.

Werde beim nächsten Mal, wenn ich das gerne haben möchte, das zu meinen String Utility Methoden hinzufügen. Hoffentlich dann schon mit Extension Methods :-)


PHP vs. Resharper

Wir machen gerade ein kleines PHP Projekt (<40h). Es handelt sich um eine Synchronisationslösung zwischen einer Desktop Applikation in .NET mit MSDE und eine Front Office PHP Lösung.

Dynamische Sprachen sind von der Sache erst einmal was sehr schönes. Für vieles sicher einfacher und schneller (Buildtasks, DSLs, Konfiguration). Nicht nur aus technischer Spielerei gibt es Dinge wie die DLR, Boo oder IronPython. Doch für echte Anwendungslogik fühlt sich das arbeiten mit PHP deutlich langsamer an.

 CropperCapture[7]

Am schmerzlichsten vermisse und ich Resharper. Mir war gar nicht bewusst, wie oft ich kleinere Refaktorisierungen durchführe. Meist "Methode Extrahieren" und Umbenennen. Aber auch die Navigation im Code ist mit a href="http://www.zend.com/products/zend_studio">Zend Studio schmerzhaft. Permanent suche ich im Projekt nach irgendwelchen Strings. In Resharper dauert es 5sec alle Zuweisungen einer Variablen zu finden und dabei die Verwendungen auszublenden. Mit Zend ist es immer wieder ein Browsen, durch viele, viele Suchtreffer.

Ich vermisse auch NHibernate, meinen TestRunner und all die Bibliotheken, die mir sonst den Alltag versüßen. (Wobei wer Tag ein Tag aus mit PHP arbeitet, hat sicher verlgeichbares)

Schon nach 20h, .NET I miss you :-)


ÜberUtils - Strings

Schade, dass wir noch kein .NET 3.0 einsetzen. (Aber aus Zeitgründen, sind die Zeiten wo jede Beta sofort installiert werden musste leider Passe. Aber noch drei Wochen, dann können wir migrieren :-) Brad Vincent baut gerade eine Utility Klassen Sammlung auf, die viele schönes hat, aber Extension Methods erfordert.

CropperCapture[5]

Links:


.NET Framework 3.5 Namespaceposter

CropperCapture[1] 

Kopiert aus dem Net 3.5 Poster .

[via Stefan Falz]