Ralf Westphals Readers' Digest Nr. 5 ------------------------------------ Liebe Entwickler, die Menge der Veröffentlichungen zum Thema "Softwareentwicklung auf der Microsoft Plattform" ist angesichts der Zahl von Zeitschriften, Büchern und Web-Sites kaum noch für den in immer dringende Projekte eingebundenen Entwickler zu bewältigen. Da es zu meinem Job als Softwaretechnologievermittler und Microsoft MSDN Regional Director gehört, viel zu lesen, habe ich mir überlegt, ob und wie ich in dieser Situation helfen kann. Meine Antwort: Statt durch Artikel oder Buch zur Informationsflut selbst beizutragen, möchte ich in diesem Newsletter einmal auf Lesenswertes, bereits Geschriebenes in verschiedenen Medien hinweisen. Meine Auswahl ist natürlich subjektiv und enthält nur, was mir persönlich positiv aufgefallen ist - vielleicht hilft sie Ihnen ja aber doch ein wenig bei der Bewältigung des Zeitschriften- und Bücherstapels. Ich wünsche viel Spaß beim Lesen! Ralf Westphal Freier Autor und Berater Microsoft MSDN Regional Director www.ralfw.de Lesenswerte Artikel ------------------- *An Extensive Examination of the DataGrid Web Control: Part 1, Scott Mitchell http://aspnet.4guysfromrolla.com/articles/040502-1.aspx Start einer 15teiligen Serie zur Programmierung des ASP.NET DataGrid-Control. Eine so umfassende Darstellung habe ich online noch nicht gesehen. (Leider fehlt ihr ein Index oder ausführliches Inhaltsverzeichnis, um Themen konkret in den vielen HTML-Dokumenten zu finden.) Auch der Site des Autors ist interessant für ASP.NET-Entwickler: http://aspnet.4guysfromrolla.com. *Creating a Pageable, Sortable DataGrid, Scott Mitchell, MSDN Online http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/aspnet-pageablesortable.asp Sozusagen Teil 16 von "An Extensive Examination of the DataGrid Web Control". *Injecting Client-Side Script from an ASP.NET Server Control, Scott Mitchell, MSDN Magazine 8/2003 http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/aspnet-injectclientsidesc.asp Der Code in Ereignisbehandlungsroutinen von ASP.NET Steuerelemente läuft standardmäßig auf dem Server ab. Das kostet Zeit für den Rountrip dorthin, selbst wenn die selbe Seite wieder angezeigt werden soll. Das macht zwar ASP.NET Anwendungen browserunabhängiger, aber verbessert die User Experience eben nicht unbedingt. Für manche Fälle mag es daher interessant sein, immer noch Scriptcode auf dem Client - als Jscript-Code einbebettet in der HTML-Seite - auszuführen. Die ASP.NET Validation-Controls machen es vor. Dieser Artikel von Scott Mitchell beschreibt, wie Sie eigene Seiten/Controls mit clientseitigem Script versehen können. Das ist insbesondere interessant, wenn Sie genau wissen, welchen Browsertyp Ihre Anwender benutzen. Der IE bietet z.B. ein reichhaltiges clientseitiges Programmiermodell. *ASP.NET Server Control Licensing, Nikhil Kothari, MSDN Online http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/aspnetcontrollicensing.asp Ein Thema, das in der Literatur irgendwie gar nicht auftaucht: Wie kann ich selbstentwickelte Controls mit einem Lizenzschema versehen? Der Artikel baut auf dem allgemeinen Lizensierungsrahmenwerk des .NET Framework auf und erweitert es speziell für die Nutzung in ASP.NET Steuerelementen. Wenn Sie also einmal eine Idee für ein Steuerelement haben, dass sie an Dritte weitergeben möchten, dann sollten Sie es mit einer Lizenz versehen. Das lohnt sich auf für Free- oder Shareware-Steuerelemente. *ASP.NET Templates, Uwe Baumann, dotnetpro 9/2003 Eine pragmatische Übersicht zum Thema "Templateseiten für WebForms Anwendungen", d.h. wie kann man am einfachsten eine Reihe von ASP.NET Seiten mit einem gemeinsamen Grundlayout ausstatten. Uwe Baumann stellt nicht nur eine Lösung vor, die über das Übliche hinaus geht, sondern bietet auch ausführliche Hinweise auf die "Literatur" zum Thema, so dass eigener, vertiefender Arbeit nichts im Wege steht. *Stored Procedures, Jörg Neumann, dotnetpro 9/2003 Eine hübsche Einführung in die Programmierung von Stored Procedures. Wenn man nicht jeden Tag mit ihnen umgeht, kann man sich den Artikel in die Handbibliothek neben den Entwicklungsrechner legen, um schnell wieder den Einstieg zu finden. *Career Calculus, Eric Sink http://software.ericsink.com/Career_Calculus.html Mal etwas anderes als reine Technik: Eric bricht eine Lanze für konstantes Lernen. Ich finde seine Darstellung des persönlichen "Marktwertes" als mathematische Funktion in abhängigkeit von gegebenem Talent, Zeit und vor allem Wissensan/abreicherung sehr prägnant. Dem einen oder anderen mag dieser Artikel eine Motivation sein, nicht nachzulassen beim Lernen, dem anderen mag er einen Anstoß geben, aber vielleicht kann er auch einmal als Argumentationshilfe gegenüber allzu ignoranten Chefs dienen ;-) *Microsoft Business Solutions CRM - Product Architecture White Paper, Microsoft http://www.microsoft.com/BusinessSolutions/MSCRM/Highlights/crm_projectarchitecture_whitepaper.mspx Technischer high-level Überblick über die Architektur von Microsofts CRM-Lösung. Auch wenn die Software als Ganzes vielleicht nicht so prickelnd ist (vgl. "Microsofts Geschäftssoftware MS CRM 1.0" in dot.net Magazin 3/2003), so lohnt doch ein Blick in ihre Innereien. Das Paper deutet einige sehr interessante Technologien an (z.B. Rechte/Sicherheitssystem für Geschäftsanwendungen, metadatenbasiertes Persistenzlayer, online/offline-Funktionalität), die Geschmack auf mehr machen. Ich bin gespannt, was der CRM SDK hergibt. Vielleicht lässt er sich ja als Steinbruch für eigene Anwendungen nutzen. *Does C# Measure Up?, Windows Developer Network Vol 2 Issue 13 2003 http://www.windevnet.com/wdn/webextra/2003/0313/ Ausführlicher Performancevergleich zwischen C#, Java, C++, C und D. Der Artikel ist sehr umfangreich und muss als gepacktes PDF heruntergeladen werden. Je nach Geschmack lohnt dann eine ausführliche Lektüre oder nur die der Resultatsabschnitte. Im ersten Teil werden low-level Sprachfeatures getestet (Stringverarbeitung, Zahlumwandlung usw.), im zweiten Teil speziellere Features wie Speicherverwaltung, Boxing, Dateizugriff, Exceptions usw. Unterm Strich schneidet C# überraschend gut ab. Und was bedeutet das für real world applications? Es bleibt dabei, am Ende muss man die Performance immer noch wieder selbst in den eigenen Szenarien testen. Letztlich macht es der Mix der eingesetzten Features, der benutzten Bibliotheken, der angewandten Algorithmen. Lesenswerte Bücher ------------------ VB.NET, C# und C++ sind schöne Programmiersprachen. Aber für manche Zwecke sind sie einfach nicht optimal geeignet. Zum Glück gibt es Alternativen und es lohnt sich, darauf einmal einen Blick zu werden. Zwei Bücher bieten einen netten Überblick zum Thema "kleine Sprachen", d.h. Sprachen, die weniger mainstream sind, die weniger general purpose sind, die mehr für bestimmte Zwecke entworfen wurden. Ihr Versprechen ist, Problemlösungen durch alternative Notationen und andere Konzepte mit weniger Code und in kürzerer Zeit realisierbar zu machen. Sie wollen die "großen Sprachen" nicht ersetzen, sondern ergänzen: *Armin Röhrl, Stefan Schmiedl: Produktiver Programmieren, Software & Support Verlag 2002 http://www.amazon.de/exec/obidos/ASIN/3935042264/ralfwestphalh-21 *Peter H. Salus: Handbook of Programming Languages 3. Little Language and Tools, Macmillan Technical Pub 1999 http://www.amazon.de/exec/obidos/ASIN/1578700108/ralfwestphalh-21 Wenn Sie auf den Geschmack gekommen sind, können Sie auch schauen, ob es für die "kleinen Sprachen" Ihrer Wahl bereits Implementationen für den .NET Framework gibt: http://www.it-visions.de/(qomntkrj5jx01laj4zwj5r45)/dotnet/produkte/sprachen.aspx Web Sites von Magazinen für .NET Entwickler ------------------------------------------- ASP.NET Professional, http://www.aspnet-professional.de/ CODE Magazine, http://www.code-magazine.com (engl.) DNJ, http://www.dnjonline.com/ (engl.) dot.net Magazin, http://www.dotnet-magazin.de dotnetpro, http://www.dotnetpro.de/ MSDN Magazine, http://msdn.microsoft.com/msdnmag/ (engl.) .NET Developer´s Journal, http://www.sys-con.com/dotnet/index.cfm (engl.) Windows Developer Network, http://www.windevnet.com (engl.) ================== Sie erhalten diesen Newsletter, weil Sie mit mir auf die eine oder andere Weise persönlich Kontakt hatten, z.B. durch ein Gespräch auf einer Konferenz oder durch eine Anfrage per Email oder durch eine explizite Registrierung. Ich hoffe, Sie empfinden den Newsletter daher als positive kostenlose Dienstleistung. Sollte das nicht der Fall sein, deregistrieren Sie sich bitte jederzeit durch einen Reply auf den Newsletter mit einem Betreff wie "Deregistrierung" oder "Abmeldung". Anmeldungen für den Newsletter sind natürlich auch jederzeit möglich. Am besten durch eine Email an readersdigest@ralfw.de mit einem eindeutigen Betreff wie "Registrierung" oder "Anmeldung". Sollten Sie Anregungen für die Gestaltung des Newsletter haben, freue ich mich auf eine Email von Ihnen an readersdigestfeedback@ralfw.de. Der Readers' Digest erscheint periodisch ca. alle 14 Tage.