[AC] NET Framework for Decal Overview

Nützliche Informationen rund die Ice Lords.

Moderator: Moderatoren

[AC] NET Framework for Decal Overview

Postby Ziv » 17 Aug 2005 10:54

Anmerkung: Es handelt sich hier um ein Framework für die Entwicklung von Decal Plugins. Ich versuche mich da gerade etwas schlau zu machen, weil es im moment keinen Entwickler mehr fuer Meginjarder gibt und ich versuchen werde da Abhilfe zu schaffen...


Author Mekle:

So, to take a cue from Hazridi and Asriel, let me talk a bit about what I'm doing, and a bit about the design of the .NET framework parad0x and I are working on. This will probably be the first of several posts on this subject, as we have a lot of ground to cover together...

First off, a little about me:

Due to the hours of my paying job, I don't really get to start on real Decal work until after 8pm normally, if I'm lucky. I do monitor a lot of discussion between the rest of the Decal devs when I have a few minutes during the rest of the day, and as they can tell you... I'm not shy about putting in my 2 pyreals about the design of things, if I think it will make things better for YOU, the user.

Now, into the meat of what we're doing, and some discussion of how we're getting there.

First off, parad0x and I have split the responsibilities a bit on this. parad0x is working on some changes to the core of Decal to ensure that the framework integrates well. These changes will actually improve the maintainablity of some of this code in other areas too. More on this later...

I'm actually designing, and doing the initial implementation, of the .NET framework, so lets start by talking about some of the design decisions, especially those I know may cause joy or frustration among plugin developers.


Here are the overriding principles that I'm starting with:
1) It has to integrate into Decal well
2) It has to be performant (fast)
3) It has to be CAPABLE (allowing .NET features end-to-end for the developer)
4) It should protect the developer from COM as much as possible.
5) It has to be easy/fun to develop for

Ok, I know 4 is probably more of a wish-list item, but it's important, since .NET and COM are so inherently different. I'll discuss each of these points more later, and talk about how I'm trying to design for them.

So, given these design principles, there was one decision that was made, that may cause some consternation in some quarters:

The framework is being written using C# Visual Studio 2005 Beta 2 (.NET 2.0)

Yes, you read that correctly. I'm developing this using VS2k5 Beta 2. Here are the reasons why:

.NET 2.0 has had some significant performance improvements made to it, in many areas. (supporting principle number 2)
.NET 2.0 will be more accessible to the hobbiest developer with the Express products. (supporting principle number 5)
.NET 2.0 has a LOT more abilities. (supporting principles 1 and 3)

Ok, it's getting late, so I'll give you a quick overview of what the framework will include, and then in the next post, I'll break it down and we'll begin to go through each of the pieces.

The new framework will consist of two core pieces (and several other pieces to add some polish):

A new ".Net Plugin Lifetime service"
A new ".Net Plugin Surrogate"

These two pieces will be the glue that actually bridges the gap between Decal and .Net languages.

But, to hit our principles, they won't be enough. There will also be:

A new PluginBase class
A new FilterBase class
Several classes to '.Net-ify' the Decal object model, and 'event-ize' some of the sinks.

These base classes will take care of some of the mundane details of integrating with the Decal, and to be able to fit inside the new framework, you will need to inherit from one of these new base classes.

That about covers it for the high-level overview. Tommorow I will start talking about the Lifetime service and the Surrogate, and how they work together with Decal. I'll also be touching on some of the work parad0x is doing, since it's making these two new components possible.
User avatar
Ziv

Gold4
 
Posts: 4185
Images: 280
Joined: 26 Jan 2002 14:42
Location: Münster

Postby eVolution » 17 Aug 2005 12:59

klingt ja fast wieder nach einem grund mit ac anzufangen :-)

.NET Rocks.

Bin ja mal gespannt, ob du dann vom PHP Coding zum Hardcore C# Coder wirst... und als letzte Option gibt es auch schon möglichkeiten PHP für .NET Anwendungen (Web) zu verwenden.

Bin mal gespannt wie sich das entwickelt. Kannst du mich (uns?) auf dem laufenden halten? Gibt es ne Seite dazu?

Würde mich mal interessieren, da ich Beruflich zwar keine Decal entwickle abber die beschrieben Software einsetze :-)

Also dann alle mal .NET 2.0 installieren :-)

Ciao Marco
RUNNING GAMES:
N/A
RETIRED GAMES:
Asheron's Call 1:
eVolutionary - Life Mage 80 - Un-Un-Retired
Horizon (ICE Shard):
eVi (Dungeon Cleaning Service) {Fu*king Miner/Cleric}
Everquest II (Permafrost/Freeport):
eVola - Shaman
User avatar
eVolution

Rank5
 
Posts: 440
Images: 10
Joined: 22 Jul 2002 18:50
Location: Offenbach

Postby Ziv » 17 Aug 2005 13:34

Jo klar kann ich Dich/Euch auf dem Laufenden halten. Habe nur ne altes VS, denke noch eins fuer .NET 1.1

Muss mal schauen wie ich an die Beta 2 von 2005 rann komme aus dem MSDN...
LOTRO: Ziv/75 Jäger
AC: Sif al Taak/275
User avatar
Ziv

Gold4
 
Posts: 4185
Images: 280
Joined: 26 Jan 2002 14:42
Location: Münster

Postby eVolution » 17 Aug 2005 17:23

Hi,

wenn du an ne MSDN Universal ran kommst, ist das natürlich super, aber wie schon im Post angemerkt, gibt es die Expressversionen des Visual Studio. hier muß man sich nur auf eine Sprache festlegen. Ich gehe davon aus, daß es C# sien wird ;-)
Alternativ gibt es das VS.NET Express Web-Developer, welches alle Sprachen kann, aber keine Windows Client Apps... also EXE und DLL.

MainPage:
http://lab.msdn.microsoft.com/vs2005/default.aspx

C# Express:
http://lab.msdn.microsoft.com/express/vcsharp/default.aspx

Video's rund ums Thema:
http://msdn.microsoft.com/msdntv

Ist ne echt spannende Sache. Bin gespannt, was aus dem projekt hier wird.

Ciao Marco
RUNNING GAMES:
N/A
RETIRED GAMES:
Asheron's Call 1:
eVolutionary - Life Mage 80 - Un-Un-Retired
Horizon (ICE Shard):
eVi (Dungeon Cleaning Service) {Fu*king Miner/Cleric}
Everquest II (Permafrost/Freeport):
eVola - Shaman
User avatar
eVolution

Rank5
 
Posts: 440
Images: 10
Joined: 22 Jul 2002 18:50
Location: Offenbach


Return to Neuigkeiten

Who is online

Users browsing this forum: No registered users and 2 guests

cron