Wenn du die neuen Libs nicht nutzt, musst du dir keine Gedanken machen. Deine Binaries werden, wenn mit VS05 kompostiert, die 2.5'er Runtime benötigen, egal ob .Net2.0., 3.0 oder 08/15 auf der Packung steht. ;-)
Naja vielleicht sollt ich mir MFC nochmal anschauen. Das sollte auch noch auf Windows 95 gut laufen. Klar kann man das 2.0 weiterverwenden, aber das kann ja auch kein Zustand sein.
Ne versteht mich nicht falsch. Von mir aus könnte man 2000 zum Teufel jagen wär mir ja völlig egal. Allerdings denk das es doch schwierig wird zu sagen das die Leute sich extra ein neues OS kaufen müssen nur damit ein Programm von mir drauf läuft.
Ich denke das WPF kurzfristig gesehen eh nicht so ne große Rolle spielen wird. Nichtmal MS hat es geschafft seine Anwendungen umzustellen (Office, Media Player, Messanger haben alle nur ne aufgepeppte WinForms Oberflächen).
Hätte man .net 3.0 (das mit Linq) und WinFX getrennt gelassen, hätte man das Problem nicht.
Na ja die Sache hat ja noch ein paar weitere Nebeneffekte:
Also erstmal wird hiermit der Support für Windows 2000 platt gemacht. Wenn man bedenkt das 50% der Unternehmensrechner wohl immer noch mit 2000 laufen, find ich das garnicht lustig.
Mono hat jetzt natürlich auch einen schweren Stand. .net 3.0 können die fast nicht nachziehen.
nachdem es hier wirklich noch nicht zu stehen scheint: Microsoft hat sich mal wieder entschlossen uns alle völlig durcheinander zu bringen und hat kurzerhand die für Vista geplante Erweiterung WinFX in .net Framework 3.0.
WinFX wird dabei das .net Framework 2.0 benutzen.
Das was bisher als net Framework 3.0 bekannt ist (Linq usw.) wird dann eine höhere Versionnummer bekommen und zusammen mit den neuen Visual Studio Codename "Orca" irgendwann später ausgeliefert.
-Die Trennung von WSS und SPS ist künstlich, führt zu Verwirrungen und wirkt unstimmig.
-Die Administration ist suboptimal. Viele, zu viele Einstellungen, in viel zu vielen verschachtelten Menüs.
-Durch die fehlende Workflowuntersützung kann man Geschäftsprozesse eigentlich nicht abbilden (ich denk da an mehrstufige Genehmigungsverfahren). Selber schreiben kann ja wohl echt keine Alternative sein.
-Die Möglichkeit Daten an verschienden Stellen zu veröffentlichen ist irgendwie auch nicht so ideal durch diese Links gelöst.
-Die Idee das man mit anklicken die Datei im schreibgeschützen Modus öffnet geht einfach nicht in meinen Kopf. Warum muss ich da mit der rechten Mausstaste drauf und bearbeiten anklicken?
-Die halbherzige Integration von ASP.net war ja wohl auch schlechter Witz. Klar wir schreiben unsere HTML-Tags noch von Hand.
-Außerdem habe ich denn verdacht das wenn man den SPS wirklich intensiv nutzt das Chaos von Filesystem nur auf das Webportal verlagert wird. Das is aber nur eine Vermutung. Soweit ist es bei mir nie gekommen
-Die Bindung an Office2003 ist völlig unnötig. Das nervt dann vorallem wenn man bei ner Tabelle auf die einzige Ansicht schalten will mit der man ganz gut arbeiten kann und es nicht geht. Diese Web-Excel Ansicht (hab den Namen dafür vergessen)
-Benutzerrechte nur auf Seitenebene. Da kann man dann richtig kreativ werden, wenn es Daten gibt die der eine Benutzer sehen darf der Andere aber nicht. Sprich man fängt an zu basteln.
usw.
Insgesamt wirkt der Sharepoint nicht wirklich aus einem Guss, sondern eher ein bisschen zusammengestückelt. Produktiv am laufen hat ich denn aber nie. Jetzt aber nicht falsch verstehen: Bin kein MS-Hasser, die Produkte der Konkurrenz zu den Thema sind auch nicht wirklich ideal und der 2007 scheint ja auch in einigen Punkten vieles besser zu machen.
Man muss aber auch ganz klar sagen das da Microsoft selber dran schuld ist.
Microsoft hats echt geschaft trotz qualitativ meist hochwertiger Produkte ein dermaßen negatives Image zu bekommen. Da gehört schon einiges dazu. Allein schon immer wieder diese Überwachungsambitionen. Ist kein Wunder das die Leute Microsoft nicht mehr über den Weg trauen.
So also mal ne kurz Abhandlung was ich jetzt schon alles angeschaut hab. Ich sollt schon mal vorab erwähnen, das für mich besonders wichtig ist das man es Individuell erweitern kann, deshalb hab ich das jetzt auch ein wenig stark in den Vordergrund gestellt habe.
Gemini
Kostet nicht viel und ist auch recht übersichtlich. Allerdings ist der Funktionsumfang doch leider auch etwas eingeschränkt. Die Anpassbarkeit beschränkt sich auf eigene Felder und das Abfangen von Ereignissen. Außerdem gibt es Webservices. Es ist .net basierend was natürlich ein Pluspunkt ist.
Reine Webanwendung, Desktopclient befindet sich in der Betaphase.
FogBugz
Einer der etablierten Bugtracker. Ziel war den Funktionsumfang auf einen erträglichen Maß zu lassen. Dies ist auch soweit gelungen. Leider fehlt mir persöhnlich ne API und ein Desktopclient.
Bugtracker.net
Hab ich nicht zum laufen bekommen. Es gibt keine Installationsanleitung und nur einen Entwickler.
Jira
Noch ein Etablierter. Sehr großer Funktionsumfang. Es gibt ne richtige API und Webservices. Leider sieht das Teil ein wenig unübersichtlich aus und ist komplett in java geschrieben. Ansonsten ist das Teil auch kein Schnäppchen(komm auf die Ausführung drauf an), aber wenigstens wird pro Server kassiert und nicht pro Client. Reine Webanwendnung.
Otris
Endlich mal wieder ne Open Source Lösung. Leider hat das Teil schon mal grundsätzlich nicht gepasst, weshalb ichs mir nicht so genau angeschaut hab. Ich würde sagen solider durchschnitt. Besonders Wert wird auf die Verarbeitung von E-Mails gelegt. Reine Webanwendnung
Aqdevteam
Ein Kandidat denn ich nochmal genauer untersuchen muss. Ähnelt auf den ersten Blick TestTrackPro. Gut gefällt mir wieder Lizenz pro Server. Webclient, Dekstopclient und Integration in VS
TestrackPro
Muss ich auch nochmal genauer durchchecken. Grundsätzlich kann ich aber schon sagen das es alles kann, aber dafür aussieht wie sau Ne halbe Million Schaltflächen.
Es gibt einen Webclient, Dekstopclient und eine Integration in VS
OnTime2006
Erster Eindruck: Genial. Vollständig in .net geschrieben und endlich mal eine aufgeräumte Oberfläche. Der Funktionsumfang scheint auch ziemlich gut zu sein.
Das Teil gibts wieder als Webclient, Dekstopclient und als VS Plugin. Leider fehlt mir für meine Anforderungen ne richtige API um Erweiterungen an der Oberfläche umzusetzen.
Angeschaut hab ich mir mal TestTrackPro. Von den Funktionen kanns ja umheimlich viel, auch wenn die Oberfläche etwas gewöhnungsbedürftig ist.
StarTeam hab ich auch mal kurz angeschaut. Allerdings hab ich bis jetzt noch nicht so ganz verstanden was rechtfertigt das es so viel teurer ist als z.B. Testrack Pro. Wenns mir jemand erklären kann ... bitte nur zu.
@herbivore
Bugzilla war auch mein erster Gedanke. Mir hat aber bisher jeder von abgeraten, weil die Benutzerführung wohl nicht wirklich toll sein soll.
So hab auch noch ne Million andere Bugtracker angeschaut. Wenns jemand intressiert kann ich das gern mal hier kurz zusammenfassen.
Achja und zu ner Entscheidung was wir nehmen bin ich immer noch nicht gekommen.
bin gerade auf der Suche nach einen Bug Tracking System für unsere Firma und wollt deshalb einfach mal hören was ihr eigentlich hierfür so einsetzt und wie zufrieden ihr damit seid.
Geht mit den von Sharepoint angebotenen Webservices. Habs jetzt leider nicht mehr so wirklich in Kopf, da ich schon länger nichts mehr mit den SPS gemacht hab.
So muss mich auch nochmal bei dir bedanken.
War echt großartige Arbeit die du hier geleistet hast.
Da kann jede Java-Community nur in Ehrfurcht erstarren
Hab mir jetzt mal was mit Delphi zusammengebastelt.
Mit HTML hab ichs auch probiert, allerdings sah das eher bescheiden aus. Außerdem is das ewige Gefrage, ob es jetzt gespeichert oder ausgeführt werden soll auch nicht wirklich schön.
ich muss ein Prog per Cd verteilen. Also wollt ich dafür ein Autorun-Menü erstellen. Allerdings sollte man das ja wohl besser nicht in .net schreiben, da das ja viele Anwender noch nicht drauf haben. Da ich vermeiden wollte extra dafür eine andere Entwicklungsumgebung zu installieren, wollt ich fragen ob jemand ein kostenloses Tool zur Erzeugung eines solchen Menüs kennt. Das Tool sollte über eine Xml-Datei (oder ähnliches) auf seine Bedürfnisse anpassbar sein.
Es sollte die Möglichkeit bieten, dass man eine Exe starten kann, denn Hintergrund festlegen und die CD durchsuchen kann.
Also hab ich jetzt richtig verstanden das bei euch der Controller eigentlich immer auch ein Teil des für die Darstellung zuständigen Objekts ist? (also konkret ein Teil der Hauptform in einer WinForms Anwendnung).
Verwendet man den Begriff Code-Behind nur in Zusammenhang mit Asp.net? Also hab mich allgemein auf die Quellcodedatei bezogen mti der eine Form automatisch verknüpft ist(unabhängig von WinForms oder Asp.net). Außerdem sind ja dank .net die Unterschiede zwischen WinForms und Asp.net eh nicht mehr so groß. Sry, wenn ich mich dahin gehnd missverständlich ausgedrückt habe.
Und wenn wir gerade dabei sind was von meinen Ausführungen nicht passt: Hab mir überlegt, das es wohl sinnvoller ist in meinen Outlook-Beispiel die UserControls in Hauptformular der Anwendung zu erzeugen.
Mein Ursprungproblem bleibt aber meiner Meinung nach trotzdem bestehen.
So noch mal für die doofen (also für mich)
Du trennst View und Controller nicht? Wie funktioniert das? okay wenn ich eine simple Anwendung hab wo nur alles in einen Hauptfenster abläuft dann kann ich alles in die Code-Behind Datei schreiben.
Aber nehmen wir mal an ich will Outlook nachbauen: Dann brauch ich doch ne Menge von UserControls. Dann benötigte ich doch eine zentrale Klasse die mir je nach Bedarf das passende UserControl anzeigt (eins für den Kalender, eins für die Mailansicht usw.) Da muss doch zwangsläufig View und Control getrennt sein.
Ja die Statusbar liegt in der View sogar bei mir. Aber der Controller muss die ja trotzdem kennen. Selbst wenn die Logik ausschließlich über Events mit der Statusbar kommuniziert muss ich ja sich die Statusbar für Events der Logikschicht registrieren.
mal wieder ne theoretische Frage zur Prammstruktur: Ich verwende eigentlich ganz gern das MVC-Pattern zur Trennung der Oberfläche von den Daten. Mein Problem ist wenn das Projekt größer wird, der Controller ja recht unübersichtlich wird.
Also hab ich mir überlegt das es wohl sinnvoll ist meherere Controller zu verwenden. Soweit eigentlich auch kein Problem. Allerdings gibt es dann ja Oberflächenelemente die von zwei Controllern genutzt werden müssen (z.B. ne Statusleiste,gemeinsam genutztes UserControl, Hauptfenster einer Anwendung usw.). Die Frage ist jetzt wie geh ich eben mit solchen Elementen um die von mehreren Controller genutzt werden? Mach ich daraus ein Singelton oder gibts da was besseres?
Wie würdet ihr sowas lösen oder verwendet ihr nen ganz anderen Ansatz?
Fügt deiner Projektmappe einfach eine weiteres Projekt (Klassenbibliothek) hinzu. In das kannst du dann die Forms (perDrag&Drop) verschieben die sowohl von Programm 1 wie auch von Programm 2 benötigt werden. Auf diese DLL musst du dann wie in meinen ersten Beitrag beschrieben, einen Verweis hinzufügen.
Mir is jetzt war nicht so ganz klar was das mit der Installationsroutine zu tun hat, aber: Also den Ordner Verweise mit der rechten Maustaste anklicken und "Verweise hinzufügen" drücken. Dann denn Reiter Projekte anwählen und die entsprechenden Projekte hinzufügen. So das wars eigentlich. Im Code muss dann nur noch das andere Projekt durch die entsprechende using Anweisung (z.B. using myProject1) hinzugefügt werden und schon kann man die Objekte des anderen Projekts nutzen.
Also ich hab für mein jetziges Projekt Codus (ist ein Code Generator) verwendet und mir damit die DAL aufbauen lassen. Einfacher kann eigentlich die Kommunikation mit der DB fast garnicht sein. Anderseits wenn dir sogar ein DataSet schon zuviel Overhead ist...
Danke svenson!
Habs verstanden. Das einzige was ich inzwischen echt nicht mehr verstehen kann ist, wie man ADO.net direkt einsetzn kann. Das Teil ist echt ne krankheit.
wär dankbar wenn mir mal jemand die Vorteile und Nachteile von O/R-Mappern und Code Generatoren für Datenbanken definieren könnte.
Irgendwie bin ich nämlich etwas verwirrt: Also mit einen O/R Mapper (z.B. NHibernate) kann ich mithilfe eines Mapping-Datei (vorzugsweise in Xml geschrieben) auf Datenbank in Objektform zugreifen. Ein Code Generator wie myGeneration oder Codus erzeugt mir die Objekte und ich kann dann ebenfalls auf die Db in Objektform zugreifen. So und dann kann ich mir noch mit den Code Generator die Mapping Dateien für einen O/R-Mapper erzeugen lassen.
So und jetzt frag ich mich: Wann nehm ich nen O/R Mapper, wann nen Code Generator und wann erzeug ich mit nen Code Generator Quellcode für nen O/R-Mapper???
ich versuche gerade ein paar Vierecke(hier auch Shapes genannt) in einer kreiförmigen Fomation anzuordnen. Das geht auch soweit, allerdings überschneiden sich die dann immer am oberen und unteren Rand des Kreises. Ich denke mal mein Algorithmus hierfür ist mal wieder ganz großer Mist Hat jemand ne Idee wie es richtig gehört?
//maxShapes = Anzahl aller maximal darstellbaren Vierecke. Hab ich einfach
//dadurch errechnet das ich den Umfang des Kreises durch die Höhe eines Vierecks geteilt habe
int maxheightShapes= (radius *2) /(shapeSize.Height);
int maxShapes = maxheightShapes + (maxheightShapes-2); //zweiten Kreis fehlen Shapes an oberen/unteren Rand
//amountShapes = wie viele Vierecke sollen dargestellt werden
for(int i=0; i<amountShapes;i++)
{
angle = (2*Math.PI*i)/(maxShapes ); //winkel des aktuellen Vierecks
double x = Math.Cos(angle) * radius + middlePoint.X; //x-Pos
double y = Math.Sin(angle) * radius + middlePoint.Y; //y-pos
shapeList[i].Location = new PointF((float)x,(float)y);
}
Bitte die Zahlen und das Viereck in der Mitte ignorieren
Naja ich finds nicht ganz so unwahrscheinlich. Momentan kanns sich natürlich noch keiner so recht vorstellen, aber die neue Version schlägt Office schon in manchen Bereichen und wenn erstmal Office 12 auf das neue Xml-Format docx umgestellt ist, verliert das Problem mit den Format auch langsam seine Bedeutung.
Dann spricht eigentlich kaum noch was für Office. Die neue Menüleiste ist zwar cool, aber nicht unbedingt nen Grund das man soviel Geld ausgeben muss.