ShaDoOoW wrote...
So why don't we figure out how to make it the way everyone will be satisfied?
There is no one way everyone will be satisified.
There is no one language everyone uses, nor should there be one product everyone is required to use. We are both helped by a project like the CEP, but also limited by it, since it forces everyone to use it's choices, is either including everything, or it's including just the top of the line best. We need to not be limited to a large take it or leave it approach.
The thing that needs to be agreed on, is standards for inter-author communication, for inter-project support, so if a developer wants to build off of what someone else is doing, they can do so, but which makes everything a choice.
Baaleos wrote...
A standardized web API that the community can contribute to, to add their own methods etc
And then - if anyone wants to make their own branded application - its basically using the same back end code
An api is a language neutral method of making code available to anyone, from a given project regardless of language. You would not contribute functions to it, nor would your language matter, it's an interface into another persons code base, and allows developers to cooperate without having to actually all agree on doing things a certain way. It allows for very creative things called mashups, which are made of multiple API's all arranged and set up to work together.
It's usually done by websites, or sometimes by servers without a website ( called a REST or SOAP api ), but the idea is anything which can make a network socket, can use and manipulate the data in a API of that sort. Then people can make their own apps in ruby, in php, in C# or as NWNx plugins which can be used on servers or by end users using NWNCX. These people can use the given API alone, or even better, correlate the data with other information and make entirely new things ( a mashup ), ie combining google maps api ( probably the best known) with the gamespy API to make a map of the world which shows the servers in your country or region, thus you can find all the PW's in europe which likely have good ping. Just about every major website ( drop box, facebook, google, twitter, shutterfly, amazon ) has an API like this.
Uses involve social networking, file sharing, payment gateways, amazon lets you turn on and off virtual servers, dreamhost lets you manage your virtual host, mapping, data sharing, and the list goes on and on.
Another way it's done is a dll or dylib, which can be loaded by other projects, Tani's erf utility did this, it included an offical game DLL as a resource and ran the official code written in C via C# ( i think, been a while since i looked at the source ). Most languages have ways of using such files, since this is how they have to use the system resources of the OS.
What you are describing is a good idea, but it should be multiple simple API's in a mashup, not a single monster one. I don't want to write an API in C# like skywing did, and he does not want to change his API since it's got multiple people ( at least 6 projects ) depending on it working exactly as it does now or their projects will break. And if it starts doing too many projects, it would start getting slower and slower, all it does is list servers and meta information about them. I am setting up my API in php, and it will support xml, json, and php serialized arrays, and be usable directly via java script bypassing cross domain restrictions. It will have vault data and nexus data in it.
If i happen to have another idea, i would actually create an entirely new api. If someone comes up with a good idea for an API, i could probably provide enough code so they could set up their own API which would work similar to mine, but it would have to be in php. I just don't see this as realistic, since everyone good enough to do this, probably does not need code examples, and prefers their own language of choice.
Modifié par painofdungeoneternal, 25 mars 2013 - 03:44 .