Projekt .NET Komponentensammlung
Servus,
wie bereits [VC++ / myC# IDE Projekt]hier[/url] angesprochen möchte ich im Namen von mycsharp.de (falls ich das überhaupt darf 😉 ) ein Community Projekt beginnen. Es soll sich dabei um eine Open Source Komponenten-Sammlung für .NET handeln, ähnlich wie es die JVCL bei Delphi ist. Eines der Hauptgründe, warum ich auf C# umgestiegen bin, war die riesige (und vor allem komfortable) Bibliothek. Dennoch gibt es Dinge, die vom .NET-Framework nicht von Haus aus unterstützt werden oder von den Funktionen her erweitert werden könnten. Deswegen bin ich auf diese Idee gekommen.
Falls also von eurer Seite aus Interesse besteht und ihr Vorschläge für Komponenten habt, meldet euch entweder direkt bei mir (über ICQ) oder antwortet auf diesen Beitrag!
[EDIT]Siehe .NET-Komponentensammlung unter neuem Stern[/EDIT]
Ich würde mich für ein Solches Projekt Interesieren
und auch aktiv daran Teilnehmen
Wir Arbeiten eigendlich nicht wir nehmen nur das geld
Hast du schon Vorschläge, welche Komponenten du selbst beisteuern könntest?
Meiner Meinung nach sollten erstmal Basisklassen definiert werden, von denen dann abgeleitet wird.
Ist auch meine Meinug
was die Komponenten betrift wie Wäre es mit einer Umfrage was ein Solches Projekt Beinhalten solte.
es ist doch so das man sonst ein Projekt hat das nimand will.
Wir Arbeiten eigendlich nicht wir nehmen nur das geld
Dann frage ich hier und jetzt ganz offiziell: Welche Komponenten wünscht ihr euch?
Wenn es ein paar Vorschläge gibt, können wir ja eine Umfrage starten, mit den Komponenten, die am meisten nachgefragt werden!
Es wäre übrigens schön, wenn sich weitere Mitglieder anschließen würden!
Ich arbeite zwar gerade an einer ziemlich großen Komp, aber würde gerne ein paar komps zwischen durch (zur Ablenkung 😉) schreiben.
Zum einen: Ich bin auch an so 'ner Sammlung interessiert und würde gern auch Code "zur Verfügung" stellen.
Zum anderen: Wovon genau sprechen wir hier? Komponenten im Sinne von Controls oder auch im Sinne von Assemblies, die einfach nützlich sind?
Bart Simpson
Praxis ist wenn alles funktioniert und keiner weiss warum.
Theorie ist wenn man alles weiss, aber nichts funktioniert.
Bei uns wird Theorie und Praxis vereint: Nichts funktioniert und keiner weiss warum...
Hallo Herr Simpson 🙂
Ich spreche hier von Assemblies, d.h. die Komponenten müssen nicht visuell sein, sondern können auch einfach nützliche Funktionen bieten - Beispiel:
*Plugin-Manager
*Addin für VS.NET um Anwendungen mehrsprachig zu machen
Bitte hol dir ICQ (http://www.icq.com/) - falls du es nicht schon hast.
Hier meine ICQ-#: 870088745
Nun sind wir schon zu viert ... 🙂
Bitte hol dir ICQ (
> ) - falls du es nicht schon hast.
... hab ich bereits - jetzt aber auch im Profil eingetragen 😉
Bart Simpson
Praxis ist wenn alles funktioniert und keiner weiss warum.
Theorie ist wenn man alles weiss, aber nichts funktioniert.
Bei uns wird Theorie und Praxis vereint: Nichts funktioniert und keiner weiss warum...
wir sind noch immer auf der such e nach vorschlägen und ideen für unser Projekt jeder kan etwas tun
Wir Arbeiten eigendlich nicht wir nehmen nur das geld
Naja konkrete vorschläge hätt ich sogar, nur ob das nicht zu schwer ist....zum einen eine FTP-Klasse, mit der man eine Datei downloaden kann mit Statusanzeige (soll möglich sein, per ProgressBar den Status anzuzeigen) und dann noch eine Klasse, mit der ich NTFS-Berechtigungen abfragen kann. Das wär dann alles 🙂
Selber mitproggen iss nicht wirklich bei mir, ich bin noch nicht allzu gut in C# und habe momentan auch leider kaum Zeit. C# is bei mir nur Freizeit, in der Firma progge ich mit VBA...
Ich würde vorschlagen ein paar statische Methoden für Mathematische Berechnugen (z.B. ggt oder kgv oder isprim)zu entwickeln.
Würde auch mithelfen, habe viel Zeit (zu viel 😦)) und würde sehr gerne mithelfen.
Mal ein paar Vorschläge aus der (bzw. meiner) Praxis (also was man/ich immer mal wieder braucht):
Bart Simpson
Praxis ist wenn alles funktioniert und keiner weiss warum.
Theorie ist wenn man alles weiss, aber nichts funktioniert.
Bei uns wird Theorie und Praxis vereint: Nichts funktioniert und keiner weiss warum...
Ich denke weil da keiner auf die Probleme des "kleinen" Users achtet 🙂
(Warum nicht, diejenigen die dort ihre projekte verwalten sind ja auch nicht anders als du und ich? (hoste selber auch vier meiner projekte dort))
Naja, mit der Community hier ist das doch auch Recht witzig, außerdem kann bei der Idee mit der Komponentensammlung jeder Anfäger was tun.
Sind ja einige bereit, da mitzuhelfen, also warum nicht? Wenn ein paar brauchbare Sachen zusammenkommen, ist das doch mehr als gut, oder?
jetzt wo wir ein paar vorschläge haben würde ich vorscjlagen zuerst einmal grob die richtung festzulegen in die das projekt gehen soll also z.b. netztwerk usw
Wir Arbeiten eigendlich nicht wir nehmen nur das geld
Muss ja nicht unbedingt eine Richtung haben würd ich sagen, sondern einfach ein paar hilfreiche Toolz (meine Meinung)... 🙂
Guten Tag,
Würde gerne mitmachen aber solange nichts seitens des initiators kommt mach ich nichts.
Die idee das einfach jeder drauf los programmiert ist mehr als fragwürdig. Mann sollte ein konzept haben. Die Basic müssen erstellt werden und erst dann kann man komponenten beisteuern.
mfg
Als erstes würde ich vorschlagen, dass Namespaces definiert werden, beispielsweise:
mycsharp.Core
mycsharp.Math
mycsharp.GUI
mycsharp.Net
mycsharp.XML
mycsharp.Security
mycsharp.Media
mycsharp.Media.Graphics
mycsharp.Media.Audio
mycsharp.Misc
mycsharp.Text
mycsharp.Database
mycsharp.Diagnostics
Basisklassen sollten in mycsharp.Core liegen. Für jedes Projekt sollte ein eigener Namespace (z.B. mycsharp.GUI.MeinProjekt) genutzt werden, da es sonst nur ein durcheinander gibt.
Desweiteren empfehle ich, die XML-Kommentare, die C# bietet, zu nutzen. Als Sprache der Kommentare würde ich Deutsch vorschlagen, da es für viele von uns leichter ist, sich in seiner Muttersprache auszudrücken. Außerdem wäre eine Art Standard-Header nicht schlecht.
Was haltet ihr davon? Ich freu mich auf eure Kritik 🙂
Guten Tag,
Wieso sollen wir uns von der Welt abschotten? Nein benutzen wir lieber english wir wollen es doch anderen Entwicklern die kein Deutsch können nicht schwerer machen.
Außerdem ist die benutzung dann für jeden einfacher und nicht nur für Deutsche.
Ich arbeite gerade an einer CabLib. Würde die Lib irgendwo platz im projekt finden oder ist das Projekt nur für GUI Komponenten?
mfg
Von mir aus können wir auch in Englisch kommentieren - an mir solls nicht liegen 😉
Meinst du mit CabLib eine Library um mit .cab-Dateien zu arbeiten?
Sowas könnte dann in mycsharp.Compression fallen. Das Projekt ist also nicht nur für GUI Komponenten gedacht.
PS: Du bist der Entwickler von diesem PHP Editor, stimmts?
Guten Tag,
Ja eine Lib für .cab Archive sowas gibt es so weit ich weis nicht für C# nur für Java.
Ja bin der Entwickler einer PHP IDE.
mfg
Guten Tag,
Also einige sachen sollten erst geklärt werden. Weil ohne diese Sachen macht es keinen Sinn etwas für die lib zu entwickeln.
Ich währe dafür das wir einen einheitlichen Code Stiel vewenden. Gut Dokumentiert, am besten wir nehmen den von SharpDevelop die Doku ist schon dabei.
Wir brauchen einen Standart Header für die Dateien der einige sachen wie Entwickler, Copyright und so weiter enthält.
Außerdem brauchen wir ein Team oder auch der jetzige Leiter der dann die einzelnen Packete zu einem Packet macht.
Das heißt jeder entwickler sollte unabhängig von anderen entwickeln können. So muss nicht jeder entwickler immer die komplette Lib besitzen. Sondern jeder entwickelt seinen teil und am ende fügt das Team was sich darum kümmern soll die teile zu einem Packet oder so.
Man muss mal schauen wie man das umsetzt.
mfg
Man nehme einen CVS Server, dann erübrigt sich der 3. Punkt mit dem Leader, da unnötig ... funktioniert erfahrungsgemäss wesentlich besser so 😉
Vorschlag für den Header (Mit LGPL (nicht GPL!), imo meist bester Kompromiss für Bibliotheken):
#region myCSHARP Library, Copyright (c) 2005 [Entwickler, die im grossen Stil and dieser Datei arbeiten hier auflisten - meist wohl nur einer]
// myCSHARP Library
// Copyright © 2005, myCSHARP Team
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published
// by the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#endregion
(ok, nehm mir vor mich nicht mehr einzumischen...)
Ich bin dafür, dass wir alle #develop benutzen. Zwar bietet VS.NET mehr Funktionen, jedoch kann sich das nicht jeder leisten. Alternativ könnten wir auch Projekt-Dateien für beide IDEs erstellen.
Als Lizenz würde ich ebenfalls die LGPL vorschlagen. Am besten kopiert man sich den Header aus cdr's Post.
Ich hab bei Sourceforge mal (wegen dem CVS Server) einen Account angelegt, worüber ich euch weiterhin informieren werde.
Zum Thema IDEs: Es wäre vielleicht interessant zu wissen, welche IDE denn verwendet wird (wenns bei allen ein und die selbe ist, wär's wohl Blödsinn eine andere "vorzuschreiben"). Ich persönlich nutze z.B. VS.net 2003 (und 2005 Beta).
Generell würde ich aber dazu tendieren, die Projekte für beide (bzw. alle verwendeten) IDEs anzulegen. Da im wesentlichen Libraries das Thema sein werden, dürfte ein Merging zwischen den IDEs eigentlich nur auf ein Austuaschen der C# Sourcefiles hinaus laufen... Andere Meinungen?
Ansonsten SourceForge is 'ne gute Idee. Wobei evtl. auch BerliOS einen Blick Wert ist.
Bart Simpson
Praxis ist wenn alles funktioniert und keiner weiss warum.
Theorie ist wenn man alles weiss, aber nichts funktioniert.
Bei uns wird Theorie und Praxis vereint: Nichts funktioniert und keiner weiss warum...
Guten Tag,
Über einen CVS Server habe ich auch schon nachgedacht.
Ja aber wir wollenb die komponenten sammlung doch nicht nur als source weitergeben?
Deshalb würde ich vorschlagen das wir für jeden Namespace, eine eigene Assambly machen. So kann sich jeder User aussuchen welche funktionen er aus der Lib nutzen möchte.
Oder wie wollen wir das machen?
Ahja währe eigentlich auch für SharpDevelop.
mfg
Was mich zur Zeit nervt das nicht wirklich jemand dieses Projekt leitet.
Es dauert meistens einen Tag bis ich eine Antwort auf meinen Beitrag erhalte.
Also das muss auf jedenfall besser werden.
Das Template von cdr find ich ziemlich gut.
Ahja und wir sollten uns nicht so viel gedanken machen was jeder User will und nicht nur die Sachen programmieren die jemand anfragt.
Ich habe zum Beispiel einige Ideen die ich gerne einbauen möchte obwohl die keiner gefragt hat, z.B sowas wie die kompo http://divil.co.uk/net/controls/eyefinder/
Und die Low-Level Zip Funktionen die hier angefragt wurden würde ich auch gerne einbauen.
Aber wie es aussieht läuft das projekt nicht gerade. Wie gesagt muss erstmal alles festgelegt werden.
mfg
Ihr braucht euch eigentlich nicht unbedingt auf eine IDE wie #Develop zu beschränken. Es gibt Tools die für Visual Studio, #D, NAnt, Mono, ... Projekt- bzw. Builddateien automatisch erstellen. Damit erreicht ihr praktisch alle "Zielgruppen":
I am Jack's smirking revenge.
I am Jack's raging bile duct.
I am Jack's cold sweat.
I am Jack's complete lack of surprise.
I am Jack's broken heart.
I am Jack's wasted life.
Da ich hier den Vorschlag gemacht habe, würde ich mich auch bereit erklären, das Projekt zu leiten.
Meiner Meinung nach sollte man für jeden bedeutenderen Namespace (z.B. mycsharp.GUI, also nicht mycsharp.GUI.MeinProjekt) ein Assembly erstellen.
Generell würde ich aber dazu tendieren, die Projekte für beide (bzw. alle verwendeten) IDEs anzulegen. Da im wesentlichen Libraries das Thema sein werden, dürfte ein Merging zwischen den IDEs eigentlich nur auf ein Austuaschen der C# Sourcefiles hinaus laufen... Andere Meinungen?
Ja, ich denke auch, dass sich jemand bereit erklären sollte (was ich tun würde), die einzelnen Dateien zu einem Projekt zusammenzufügen und zu veröffentlichen!
Wir sollten uns meiner Meinung nach im IRC treffen (im Channel von mycsharp.de), um weitere Dinge zu besprechen. Mich kann man ab sofort dort erreichen!
@Nostalb: Ich würd mich freuen, wenn du das Projekt mit mir leiten würdest - Die Idee mit diesem Eyefinder gefällt mir recht gut - ich arbeite im Moment ebenfalls an etwas ähnlichem 🙂
Original von cYaONE
Meiner Meinung nach sollte man für jeden bedeutenderen Namespace (z.B. mycsharp.GUI, also nicht mycsharp.GUI.MeinProjekt) ein Assembly erstellen.
Hatte ich mir auch so vorgestellt.
Da ich momemt eigentlich ziemlich viel Zeit übrig habe würde ich gerne als co-leiter tätig sein.
mfg
ich finde eine solche Idee sehr gut. Aber eins sollte man beachten: Die Sammlung darf nicht plattformabhängig werden. D.h. sie muss mit Mono genau gleich reagieren wie mit .net von MS usw.
Original von hauptmann
ich finde eine solche Idee sehr gut. Aber eins sollte man beachten: Die Sammlung darf nicht plattformabhängig werden. D.h. sie muss mit Mono genau gleich reagieren wie mit .net von MS usw.
Wird nicht ganz klappen. Da wir auch Komponenten implementieren wollen. Und dazu benötigen wir Windows.Forms. Zwar gibt es bereits eine Unstable Version für Mono aber es kan nicht gewerleistet werden das die Komponenten unter Mono Windows.Forms laufen.
Keine Ahnung wie wir das lösen sollen.
mfg
Original von Nostalb
Original von hauptmann
ich finde eine solche Idee sehr gut. Aber eins sollte man beachten: Die Sammlung darf nicht plattformabhängig werden. D.h. sie muss mit Mono genau gleich reagieren wie mit .net von MS usw.Wird nicht ganz klappen. Da wir auch Komponenten implementieren wollen. Und dazu benötigen wir Windows.Forms. Zwar gibt es bereits eine Unstable Version für Mono aber es kan nicht gewerleistet werden das die Komponenten unter Mono Windows.Forms laufen.
Keine Ahnung wie wir das lösen sollen.
mfg
Es muss ja nicht auf Interop verzichtet werden. Man kann ja zur Laufzeit das OS ermitteln und je nachdem per Reflection Funktionen einbinden(z.B. wenns ans Low Level/Hardware geht)
ich will ja nicht der bumann sein, aber ich glaube das ganze ding wird nichts. für mich klingt alles wie jeder schreibt seine kleine klasse und dann quetschen wir das alles zusammen in eine assembly oder halt eine gruppe von assemblys und dann sind wir super cool!
dann macht doch lieber ne website, wo jeder seine komponente online stellen kann und dann is gut.
Original von Fabse
ich will ja nicht der bumann sein, aber ich glaube das ganze ding wird nichts. für mich klingt alles wie jeder schreibt seine kleine klasse und dann quetschen wir das alles zusammen in eine assembly oder halt eine gruppe von assemblys und dann sind wir super cool!dann macht doch lieber ne website, wo jeder seine komponente online stellen kann und dann is gut.
Bitte schau dir mal JVCL für Delphi an. Dort klappt es auch supper. 400 Komponenten in einer Lib. Also das es geht wurde bereits bewiesen.
mfg
Original von Nostalb
Original von Fabse
ich will ja nicht der bumann sein, aber ich glaube das ganze ding wird nichts. für mich klingt alles wie jeder schreibt seine kleine klasse und dann quetschen wir das alles zusammen in eine assembly oder halt eine gruppe von assemblys und dann sind wir super cool!dann macht doch lieber ne website, wo jeder seine komponente online stellen kann und dann is gut.
Bitte schau dir mal JVCL für Delphi an. Dort klappt es auch supper. 400 Komponenten in einer Lib. Also das es geht wurde bereits bewiesen.
mfg
++++
oder Boost für C++. Einige KLassen daraus sollen sogar zum nächsten Standard hinzugefügt werden.
Genau, was isten nun mit dem Projekt?
Brauche mal ne gescheite Menüleiste und Toolbar, das wäre schonmal das erste 😉
Hab mir das jetzt mal durchgelesen.
Die Idee find ich wirklich Hammer geil!
Nur sollte man halt langsam (oder auch schneller 🙂 ) anfangen/weitermachen. cYaONE und Nostalb sollen mal das bitte an die Hand nehmen. Es muss einfach ein Grundstein gesetzt werden, dann kommt das dann schon gut.
Ich selber wäre auch bereit, euch helfen zu entwickeln. Bin zwar nicht der Pro in c# aber eine Klasse sollt ich halt noch hinkriegen 😉
mfg Chäsi
Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher. - Albert Einstein
Würde auch mitmachen
werde mir aber nicht icq zutun, da weigere ich mich 😜
lg
Ich verfolge das nun seit einiger Zeit und finde die Idee nicht schlecht aber auch nicht neu.
Desweiteren ist die Idee ein Konzept wie JVCL aufzubauen auch nicht schlecht. Egal für welches Konzept entschieden wird, muss aufjedenfall ein Grundgerüst aufgebaut werden, welches leicht erweiterbar ist und einige Regeln definiert werden.
Sonst wird irgendwann mal das ganze etwas unübersichtlich.
Es sollte meines erachtens darauf geachtet werden, dass wir nicht Klassen entwickeln, die es in :NET Framework 2 geben wird.
Meine Hilfe stelle ich hiermit zu Verfügung.
Von mir aus können wir (das heißt, alle, die sich für das Projekt interessieren) uns zu einem bestimmten Zeitpunkt im IRC treffen.
Ich würde vorschlagen: Sonntag, 30. Januar 2005 um 20 Uhr im EuIRC / #mycsharp.de
Bis dann! 🙂
Original von cYaONE
Von mir aus können wir (das heißt, alle, die sich für das Projekt interessieren) uns zu einem bestimmten Zeitpunkt im IRC treffen.Ich würde vorschlagen: Sonntag, 30. Januar 2005 um 20 Uhr im EuIRC / #mycsharp.de
Bis dann! 🙂
Hallo,
konnte leider bei dem Meeting nicht anwesend sein und wollte auf diesem Wege erfahren ob sich nun etwas getan hat?
burning snow, jetzt warst du schneller als ich 🙂
konnte leider auch nicht, doch wäre trotzdem gerne dabei...
ich schließe mich meinen beiden vorgänger an.