-
ACHTUNG - NEUES BLOG
Ab sofort steht unter http://devtyr.norberteder.com mein neues Blog zur Verfügung. Dieses Blog wird nicht weiter betreut, bleibt aber erhalten. Neue Eintr%auml;ge erfolgen nur mehr im neuen Blog. Kommentare werden ebenfalls nicht mehr behandelt. Wer weiterhin meinen Einträgen und Aktivitäten folgen möchte, möge bitte RSS-Feeds, Verlinkungen etc. an die neue Location anpassen.
|
Microsoft, Windows und Aktivierung
27.10.07 - Blog-Intern, Entwicklung, Diskussionen, Kunterbunt Beitrag von Norbert Eder| | Ich habe ja kürzlich mit dem Gedanken gespielt, von Virtual PC 2007 auf VMWare umzusteigen. Im Zuge dessen hatte ich ein vorhandenes Image konvertiert. Das Ergebnis (eigentlich logisch, aber dennoch nicht daran gedacht): die zugrundeliegende Hardware hat sich natürlich geändert. Windows ist da natürlich gleich angesprungen und fordert eine Neuaktivierung. Ok. Online-Aktivierung probiert: fehlgeschlagen. Weiß der Geier warum.
Gut. Dann hatte ich mir folgendes überlegt: Ich hatte mir ja gleich nachdem es erhältlich war Vista Ultimate gekauft und auf einem meiner Laptops installiert. Um Tests etc. durchzuführen und ein wenig unter Vista zu entwickeln. Irgendwann habe ich dort Vista platt gemacht und XP draugespielt. Nun, denke ich mir, ich werde Vista einfach als virtuelle Maschine laufen lassen. Sehr fein, müsste ja alles funktionieren: Unter Virtual PC 2007 installieren, Konverter drüber lassen und unter VMWare Player laufen lassen (denn 189$ für die VMWare Workstation erscheinen mir etwas viel).
Gut, alles installiert, konvertiert. Natürlich möchte jetzt auch Vista aktiviert werden. Ja, kein Problem, denke ich mir. Ergebnis?
Ihr Windows Vista wurde bereits aktiviert ... .... ... neuen Produktkey eingeben? ... telefonisch ....
.... AUSZUCK????
Als Käufer von Windows Vista (und das gilt auch für die anderen Windows Versionen die neu aktiviert werden müssen, wenn sich Hardware ändert) frage ich mich schon wozu das notwendig ist? Das ist doch fast so ähnlich wie bei den DVDs: DVD gekauft und dann darf man sich 10 Minuten diese bescheuerte Anti-Raubkopierer-Werbung ansehen. Aber zumindest kann man die DVD dann überhaupt noch gucken. Windows will ja wegen jeden Furz aktiviert werden.
Gerade als Entwickler kommt es eben mal vor, dass man oft seine Betriebssysteme wechselt, die Systeme auf unterschiedlichen Rechnern austauscht, einmal Vista da, dann doch wieder XP drauf und wo anders Vista usw. Wenn man jetzt jedes Mal bei Microsoft (oder das entsprechende Call-Center) anrufen muss, dann ist das SEHR ärgerlich, zumal man dann jedes Mal groß gefragt wird, was denn da jetzt genau gemacht wurde und wie das aussieht und bla bla bla.
Und ja, mir ist schon klar, dass dieses Problem Microsoft-Intern eher nicht auftritt. Denn ich hab ja keine Corporate-Edition ....
... in diesem Sinne: Jetzt ruf ich bei euch an, Microsoft und wehe mein Vista läuft nicht gleich wieder .... *grml*
| | | 2 Kommentare
- 936 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Die Krise mit Virtual PC 2007
25.10.07 - Entwicklung, Diskussionen Beitrag von Norbert Eder| | Eigentlich hatte ich virtuelle Rechner bis dato eher nur zu Testzwecken (Softwaretests, Plattformtests etc.). Stundenlanges Entwickeln kam für mich dann doch weniger in Frage. Aus unterschiedlichen Gründen (massenweise RAM, sauberes Hostsystem, etc.) habe ich mich dann doch entschlossen ein paar unterschiedliche Systeme einzurichten, vor allem auch, da ich aktuelle Projekte bereits mit Visual Studio 2008 umsetze.
Meine virtuellen Rechner laufen alle unter Virtual PC 2007, was grundsätzlich für Testzwecke bis dato (früher eben noch die Vorgängerversion) ausreichend war. Nach stundenlanger Entwicklungszeit geht mir jedoch hauptsächlich eine bestimmte Einschränkung ziemlich auf den Wecker: die Einschränkung der Auflösung auf 1600x1200. Bei 17" WideScreen (Laptop) bzw. 22" WideScreen (Standrechner) sieht es mit den Auflösungen nun halt ganz anders aus und dann kommt auch noch der Faktor WideScreen hinzu. Grundsätzlich stehe ich dann auch nicht auf schwarze Rahmen bzw. verzerrte Darstellungen.
Nun, via Remote Desktop (ja, irgendwie wie von hinten durch die Brust in die Augen) läßt sich da auch nichts machen. Ich bilde mir zwar ein, dass dies von Vista aus (aktuell setze ich als Hostsystem noch XP ein) funktionieren sollte, ist jedoch eben auch nicht die schönste Variante.
Tja, da bliebe dann noch der Umstieg von Virtual PC auf VMWare. Stellt sich mir die Frage ob ich mir das dann wirklich antun soll. Von meinen Lesern schon jemand mal mit dem VMWare Converter drübergefahren?
| | | 2 Kommentare
- 1041 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
WPF Teil 2: Windows Presentation Foundation oder doch lieber Windows Forms?
24.10.07 - Entwicklung, Diskussionen, .NET, WPF Beitrag von Norbert Eder| | Bisherige Teile:
WPF Teil 1: Die Windows Presentation Foundation aus der Sicht eines Unternehmens
Im ersten Teil der WPF-Serie wurde das Thema WPF und Unternehmen behandelt. Nun stellt sich aber nicht nur in Unternehmen, sondern auch in privaten Projekten die Frage: Soll ich mein Projekt mittels der Windows Presentation Foundation umsetzen oder doch lieber zu den bekannten Windows Forms greifen? Dieser Artikel versucht auf diese Fragestellung genauer einzugehen.
In vielen Artikeln wird Windows Forms immer noch WPF vorgezogen. Die Gründe hierfür sind meist dieselben:
- Funktionsweisen sind bekannt
- Einschränkungen sind bekannt
- Windows Forms Designer ist ausgereift
- Entwicklungsaufwand geringer
Grundsätzlich stimmen diese Argumente. Auf der anderen Seite ist jedoch zu beachten, welche Möglichkeiten WPF mit sich bringt. Diese sind Windows Forms auf jeden Fall überlegen. Daher ist es sinnvoll die einzelnen Bereiche genauer zu hinterfragen.
Der Vergleich
Databinding
Die meisten Anwendungen sind sehr datenlastig. D.h. es werden Daten angezeigt, verarbeitet, verwaltet und dergleichen. Um diese Daten anzuzeigen wird oft Databinding verwendet. Hier sind die Möglichkeiten unter Windows Forms jedoch begrenzt. WPF hat diesbezüglich viele Erweiterungen erfahren, wodurch hier eindeutig ein Vorteil für die neue Technologie zu sehen ist.
Trennung Design - Code
Design, also das User Interface, kann unter WPF wesentlich leichter vom Code getrennt werden. Im Gegensatz zu Windows Forms ist es daher möglich, dass das Oberflächendesign wirklich von einem Designer/Grafiker übernommen wird. Im Idealfall sollte dieser zwar WPF (XAML) KnowHow haben, mit Hilfsmitteln á la Blend ist aber auch das nicht zwangsweise notwendig.
Probleme Designer
Unter Windows Forms kommt es immer wieder zu Problemen mit eigenen UserControls. Hier wurde zumindest von mir die Erfahrung gemacht, dass es durchaus vorkommen kann, dass der WinForm-Designer die Oberfläche komplett verwüstet. Controls, welche die Location bzw. Size komplett verlieren und daher im Designer nicht mehr aufscheinen, bis hin zu fehlenden Events etc. Diese Probleme sind in weiterer Folge im Designer kaum Herr zu werden, daher muss man wohl oder übel entweder auf ein Backup zurückgreifen, oder direkt im Code Hand anlegen. Auch hier sehe ich einen klaren Vorteil für WPF: XAML ist wesentlich einfacher und schneller editiert, als haufenweise Code im InitializeComponents etc. Zudem wird der Code nicht angerührt, wenn sich Änderungen im Design ergeben (sei es durch einen Fehler im Designer, oder durch einen menschlichen Eingriff).
Unterschiedliche Medien, Skins
Egal ob es um 3D-Effekte, um animierte Übergänge zwischen Grafiken, Videos etc. geht, ist WPF klar die Wahl Nummer 1. Hier hat Windows Forms kaum etwas entgegen zu setzen. Ebenfalls sind beispielsweise Skins mittels WPF wesentlich einfacher möglich.
Und wann jetzt Windows Forms?
Natürlich hat auch Windows Forms nach wie vor seine Berechtigung. Werden die neuen, von WPF mitgebrachten, Funktionalitäten nicht benötigt, gibt es keinen Grund, auf WPF umzusteigen. Vielmehr empfiehlt es sich dann, bei Windows Forms zu bleiben. Denn auch hier gibt es unzählige Vorteile:
- Große Community mit vielen Hilfestellungen
- Viele Online-Ressourcen, Artikel, Blogbeiträge, Beispiele, ...
- zahlreiche 3rd Party Controls
Fazit
Grundsätzlich bleibt es dem Entwickler überlassen, wann welche Technologie eingesetzt wird. Die aufgezählten Punkte sollten einen kleinen Überblick liefern, in welchen Bereichen WPF die Nase vorne hat. Jedoch bleibt immer zu bedenken, welche Möglichkeiten die zu erstellende Anwendung tatsächlich nutzen soll und wird. Aufgrund dieser Entscheidung läßt sich auch sehr einfach feststellen, welche Technologie zum Einsatz kommt.
Schließlich muss noch eines angemerkt werden: WPF läßt sich auch in Windows Forms Anwendungen verwenden. Dies gilt auch in die andere Richtung:
WPF in Windows Forms verwenden
| | | 3 Kommentare
- 838 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Der Unterschied: Wissenschaftler vs Normalbürger
12.10.07 - Entwicklung, Diskussionen, Internet, Kunterbunt Beitrag von Norbert Eder
UML Modellierung mit Visual Studio
03.10.07 - Entwicklung, Patterns, .NET, Visual Studio Beitrag von Norbert Eder| | Wer auf der Suche nach einem UML Modelling-Tool für Visual Studio ist, dem sei eine weitere Variante durch tangible engineering geboten. Zusätzlich zum kostenpflichtigen Tool tangible architect 4.0 gibt es auch eine kostenlose Variante die folgende Diagramme unterstützt:
- Case Diagrams
- Component Diagrams
- State Charts
- Class Diagrams
- Activity Diagrams
- Persistent Object Models
Hier ein Screenshot:
Die erstellten Diagramme und Modelle sind mit der kostenpflichtigen Variante kompatibel.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Enterprise Library Contrib September 2007 verfügbar
02.10.07 - Entwicklung, Patterns, .NET, Allerlei Beitrag von Norbert Eder| | Seit gestern ist die Enterprise Library Contrib September 2007 auf CodePlex verfügbar. Was genau ist die EntLib Contrib?
"EntLib Contrib is a community-developed library of extensions to the patterns & practices Enterprise Library."
Folgende Features sind enthalten:
- Erweiterungen Data Access Application Block: Provider für MySql, SqLite und SqlEx
- Erweiterungen Exception Handling Application Block: SqlException Wrap Handler
- Erweiterungen Logging Application Block: LogParser
- Erweiterungen Policy Injection Application Block: PostSharp4EntLib, neue Matching-Regeln und neue Call-Handler
- Erweiterungen Validation Application Block: CollectionCountValidator, TypeValidator, ObjectValidator usw.
| | | 1 Kommentar
- 617 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
WPF Teil 1: Die Windows Presentation Foundation aus der Sicht eines Unternehmens
01.10.07 - Entwicklung, Diskussionen, .NET, Grundlagen, WPF Beitrag von Norbert Eder| | Wie bereits angekündigt, werde ich hier eine Umsetzungs-Serie zum Thema WPF starten. Im Zuge dieser Serie werden einige interessante Themen besprochen.
Eine Einführung zum Thema Windows Presentation Foundation werde ich an dieser Stelle nicht bieten, hierfür müssen die beiden von mir erstellen Tutorials zu diesem Thema reichen:
Windows Presentation Foundation - Teil 1: Einführung
Windows Presentation Foundation - Teil 2: XAML und Layouts
Vielmehr möchte ich hinterfragen, welchen Stellenwert WPF in Unternehmen hat und welche Überlegungen mitspielen, um auf WPF umzusteigen.
Auch heute noch - WPF gibt es nun ja schon länger - wird die Windows Presentation Foundation als neue Technologie gehandelt. Beispiele gibt es dazu ja bereits einige und durch Silverlight hat XAML sicherlich einen neuen Hype erfahren. Dennoch scheuen sich sehr viele Unternehmen diese Technologie einzusetzen. Warum ist dem so?
Hier spielen sicherlich mehrere Faktoren eine wichtige Rolle:
Nicht jedes Unternehmen ist dazu gemacht, ein Innovator bzw. ein früher Adopter zu sein (siehe Erklärung). Dies bedeutet, nicht jede Firma setzt auf neueste Technologien. Aus unterschiedlichsten Gründen: Viele vertrauen auf Bewährtes. Es bestehen wenig Risiken (damit haben sich bereits Jahre zuvor andere auseinander gesetzt), Informationen sind breit verfügbar (Foren, Blogs, Bücher) und es gibt durchaus genügend Entwickler die sich mit Bestehendem auskennen und somit im Notfall eingesetzt werden können. Bei einem Innovator sieht es hingegen anders aus: Aktuellste Technologien werden eingesetzt um der Konkurrenz gegenüber einen technologischen Vorteil zu schaffen. Informationen sind rar (SDK Dokumentation, wenn verfügbar). Know-How-Träger müssen kostenintensiv aufgebaut werden, wodurch die Produktivität anfangs sinkt und natürlich das Risiko besteht, das vorgesehene Projekt nie abzuschließen.
Eng mit dem ersten Punkt ist die Tatsache, dass Zeit geschaffen werden muss, um sich eine Technologie anzueignen. In Zeiten wie diesen - Microsoft veröffentlicht laufend neue Technologien - ist es sehr schwierig mit den aktuellen Entwicklungen Schritt zu halten und am aktuellen Stand zu bleiben. Gefordert sind hauptsächlich Entwickler, denn diese müssen dem Unternehmen bzw. dessen Führung die Vorteile der neuen Technologien schmackhaft machen (und sie selbt auch erlernen). Unternehmen, die die Möglichkeit bieten auf neue Technologien umzusteigen können daraus sicherlich Vorteile generieren. Dennoch ist der Faktor Mangelware an dieser Stelle Zeit. Zeit ist eine große Hürde die es zu überwinden gibt. Neue Technologien stellen ein große Herausforderung an das gesamte Unternehmen, vor allem an das Entwicklerteam, welches unter Zeitdruck steht und dennoch Erfolge bieten muss.
Umstiegskosten: VIele Unternehmen setzen auch heute noch Visual Studio 2003 ein. Dabei ist Visual Studio 2005 fast ein Jahr alt und die 2008er wartet bereits darauf fertig zu werden, um auf den Markt geworfen zu werden. Die Produktzyklen werden immer geringer und immer weniger machen den Schritt tatsächlich mit. Aus Kostengründen, denn Visual Studio ist nicht billig. Und WPF ist nun in der 2003er nicht verfügbar, vorhandene Projekte wollen nicht umgestellt werden, auf zwei Schienen entwickeln ist auch nicht unbedingt das Wahre usw.
Die Überwindung: Schließlich muss man sich überwinden, um tatsächlich ein Projekt auf Basis WPF durchzuziehen. Klar, wunderschön, man kann klar zwischen Designer und Entwickler trennen. Oft kann diese Trennung jedoch nicht vollzogen werden - aus Mangel an Designern. Allrounder sind also gefragt und diese müssen oft erst dazu bewogen werden. Sind Designer vorhanden, müssen diese erst Grundlagen der WPF erlenen, denn ganz ohne geht es dann auch nicht.
Wahrscheinlich ließe sich diese Liste noch fortführen. Tatsache ist, dass es viele Gründe gibt, warum Unternehmen WPF nicht sofort einsetzen, sondern auf einen günstigen Moment warten, auf das richtige Projekt, die richtigen Entwickler, oder möglicherweise gar nie diesen Schritt wagen. Fakt ist, dass dieser Schritt irgendwann vollzogen werden sollte. Die Möglichkeiten sind groß, aber eine vorhandene Anwendung wird nun eben nicht von Heute auf Morgen umgestellt - wobei auch die Sinnhaftigkeit einer Umstellung hinterfragt werden sollte. Doch auch neue Projekte werden lieber mit Windows-Forms entwickelt. Und warum? Vermutlich weil es einfach an allgemein bekannten Anwendungen fehlt, die mittels WPF entwickelt wurden. Entsprechende Patterns sind ebenfalls Mangelware (dazu kommen wir in einem anderen Teil).
Was also sollte in meinem Unternehmen passieren um auf die neue Technologie zu kommen? Diese Frage ist immer schwer zu beantworten. Grundsätzlich sollte durch Visual Studio 2005 (bald 2008) die Grundlage gelegt werden. D.h. auf das .NET Framework 3.0 sollte umgestiegen werden. Diese muss nicht zwangsläufig für alle Anwendungen gelten. Es ist ok, sich nur eine kleine Anwendung (auf wenn diese nur für interne Verwaltungszwecke verwendet wird) heraus zu nehmen und diese quasi als Übung mit Hilfe der neuen Technologie umzusetzen. Mit den gewonnenen Erfahrungen kann man sich an größere Projekte wagen.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Technologie einmal umweltbewußter? Es wäre an der Zeit ...
01.10.07 - Entwicklung, Diskussionen, Kunterbunt Beitrag von Norbert Eder| | Technologie. Bei diesem Begriff denkt man unwillkürlich an Fortschritt, an vereinfachte Arbeitsabläufe (oft gar nicht der Fall) und an tolle Errungenschaften. Dabei auf der Strecke bleibt wohl großteils die Umwelt. Nicht nur, dass Tonnen von Rohstoffe für einen PC verbraucht werden, irgendwie muss das Teil auch Strom bekommen und hier sind wir natürlich auch noch lange nicht bei 100% Wasser-, Wind- bzw. Sonnenenergie angelangt.
Tatsache ist, dass in den letzten Jahren alles nur schneller und kleiner (bei manchen Geräten auch größer) sein musste. Man nehme das Thema Grafikkarten: Noch bessere Auflösungen, mehr Details, noch mehr Polygone. Wenn das nicht reicht, dann stecken wir einfach zwei Grafikchips auf eine Karte. Was wurde hier vergessen? Nun, der Stromverbrauch. Wozu bitte ein 1000 Watt Netzteil? Wieso wird nicht einmal versucht die aktuelle Leistung beizubehalten mit gleichzeitiger Senkung des Stromverbrauchs? Nicht nur, dass durch den erhöhten Bedarf an Strom die Kosten für eben diesen in die Höhe schnellen, auch schädigen wir damit unsere Umwelt.
Nächstes Thema - vielleicht jetzt weniger auf den IT-Sektor bezogen, aber dennoch ein schönes Beispiel: Milliarden werden beispielsweise in die Formel 1 gesteckt. Mit welchem Ziel? Nun, Fahrer können noch mehr Geld verdienen (wozu bitte??) und die Autos sollen schneller werden. Werden sie zu schnell, dann werden wieder Reglements getroffen damit die Motorenhersteller wieder von vorne beginnen können (und die Teams mit ihrer gesamten Technik). Wie wäre es einmal, wenn man die Formel 1 (und den Ralleysport etc.) um alternative Möglichkeiten zu entwickeln und zu testen? Das Geld wäre doch vorhanden und DAS würde nicht die Umwelt verpesten, nein, sondern die Menschheit vielleicht sogar wirklich einen Schritt weiter bringen.
Hierfür gibt es viele Beispiele. Technologie muss nichts Schlechtes sein. Sie muss nur richtig eingesetzt werden und manche Entscheidungsträger sollten einfach einmal genauer über die Sinnhaftigkeit ihrer (Nicht-)Entscheidungen nachdenken.
Und vielleicht sollte auch jeder von uns darüber nachdenken. Ewig kann es so nicht weitergehen und es liegt auch an uns Akzente zu setzen. Muss es wirklich die schnellste und beste Grafikkarte sein, um ein paar Zeilen Code zu tippen?
| | | 1 Kommentar
- 589 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
NAnt: Solution aus Visual SourceSafe aktualisieren
27.09.07 - Entwicklung, Software Testing, Qualitätsmgmt., .NET, Allerlei Beitrag von Norbert Eder| | Zu NAnt gibt es ja das Zusatzpaket NAntContrib welches den Task vssget zur Verfügung stellt. Dadurch kann die letzte Version aus dem SourceSafe geladen werden.
Blöderweise funktioniert dies nur bei Visual SourceSafe 6.0d, jedoch nicht mehr mit SourceSafe 2005. Der Grund hierfür liegt darin, dass nicht doe Commandline-Funktionalität verwendet wird, sondern die Visual Studio Integrations-Schnittstelle.
Grundsätzlich wäre das nicht weiter schlimm, würde eine Side-by-Side-Installation der Versionen 6.0d und 2005 möglich sein. Ist es aber nicht. Die zuletzt installierte Version setzt den verwendeten Provider. Ergo auch keine wirkliche Lösung.
Abhilfe schafft hier:
1. NAntContrib selbst anpassen und die notwendigen Änderungen durchführen (denn das Projekt scheint auch nicht mehr wirklich aktiv zu sein)
2. Visual SourceSave 6.0d installieren und nicht 2005 verwenden
3. Einen alternativen Weg finden, beispielsweise diesen Vorgang über einen MSBuild-Task abzubilden, wobei hier dann insgesamt zwei Build-Werkzeuge ins Spiel kommen - auch nicht optimal.
Wird der komplette Prozess auf einem eigenen Server ausgeführt kann dieser ja entsprechend konfiguriert werden. Darin liegt nicht das Problem. Vielmehr ist es nervig, wenn auf der lokalen Maschine Tests durchgeführt werden müssen (Debugging etc.). Klar kann hier eine VM verwendet werden, ist aber vielleicht auch wie mit Bomben auf Tauben schießen.
Hat hier jemand vielleicht einen entsprechenden Tipp parat um NAntContrib auch mit SourceSafe 2005 zum Laufen zu bewegen, speziell den vssget-Task?
Zusätzlich gehe ich einmal davon aus, dass NAntContrib in Verbindung mit dem Team System wohl auch eher ein Problem sein wird.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Open XML Explained - kostenloses E-Book
10.09.07 - Entwicklung, .NET, Kunterbunt Beitrag von Norbert Eder Zurück Weiter
|
|
|
|
|
|
|