Jump to content

You're browsing the 2004-2023 VATSIM Forums archive. All content is preserved in a read-only fashion.
For the latest forum posts, please visit https://forum.vatsim.net.

Need to find something? Use the Google search below.
PLEASE READ - Webmaster Support Forum
This forum will be retired in the near future. Please direct all queries to our dedicated GitHub support page https://github.com/vatsimnetwork/developer-info/discussions 
Here you can find documentation on our services and we are continuing to migrate pertinent information into the Wiki pages https://github.com/vatsimnetwork/developer-info/wiki

.Net Development


Kevin Kelm 910510
 Share

Recommended Posts

Kevin Kelm 910510
Posted
Posted

Hey all,

 

I am curious about utilizing the .net development (C#) environment and VATSIM. Obviously PHP is more popular in this arena (for various reasons), but I much prefer .net. Does anyone use this for their ARTCCs website? I don't think I have found one yet utilizing asp.net, but then again I probably haven't looked hard enough. If you could link me that'd be great; I'd like to see how the technology is used for this type of development.

 

Most APIs for flight sim are written in PHP so I realize it might be hard to interface, but I think some of the .net tools could come very handy!

 

Thanks.

 

Kevin Kelm

ZSE C1 | UND ATC CTI Student

 

Private Pilot | Member of UND Flying Team Competition Team

 

2011_CTR_WK48.png

Link to comment
Share on other sites

Ross Carlson
Posted
Posted

Which APIs are you referring to? Typically, web-based APIs are not language-specific, at least not for consuming them.

 

If you're referring to things like VATSIM-PHP, which allows you to show which of your controllers are online, etc., then yeah that's PHP, but it's not an API, it's an application (or a library). And it would be trivial to write something similar in C#. All it needs to do is download a delimited file and p[Mod - Happy Thoughts] it.

 

What is it you're trying to accomplish? (Not that I will have any links for you, I'm just curious what you want to do ... I might be able to help with specific questions.)

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Kevin Kelm 910510
Posted
Posted
Which APIs are you referring to? Typically, web-based APIs are not language-specific, at least not for consuming them.

 

If you're referring to things like VATSIM-PHP, which allows you to show which of your controllers are online, etc., then yeah that's PHP, but it's not an API, it's an application (or a library). And it would be trivial to write something similar in C#. All it needs to do is download a delimited file and p[Mod - Happy Thoughts] it.

 

What is it you're trying to accomplish? (Not that I will have any links for you, I'm just curious what you want to do ... I might be able to help with specific questions.)

 

Ross, this post is more of exploratory nature; not towards a specific goal. I was referring to application-integration such as for Fs P[Mod - Happy Thoughts]engers and like programs. I'm unfamiliar with VATSIM's data feed, but I [Mod - Happy Thoughts]ume its using something like XML, or JSON, so then it should be non-language specific.

 

I know you are writing Vstars in C# so you'd probably be the best person for info on the subject. Do you see .net used much in VATSIM?

ZSE C1 | UND ATC CTI Student

 

Private Pilot | Member of UND Flying Team Competition Team

 

2011_CTR_WK48.png

Link to comment
Share on other sites

Ross Carlson
Posted
Posted
I'm unfamiliar with VATSIM's data feed, but I [Mod - Happy Thoughts]ume its using something like XML, or JSON, so then it should be non-language specific.

 

It's just a delimited text file, using colon as the delimiting character.

 

I know you are writing Vstars in C# so you'd probably be the best person for info on the subject. Do you see .net used much in VATSIM?

 

Nope, not much at all ... though I haven't really paid much attention to which language various VATSIM-related web sites are written in.

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Rahul Parkar
Posted
Posted

I'd be willing to say that the main reason we don't see ASP.NET websites around is because of the relative cost, and popularity of the LAMP stack for web servers.

 

Linux

Apache

MySQL

PHP (in this case)

 

I also personally find it cheaper and easier to get a Linux server, (Shared, VPS or Dedicated) then it is to get a Windows Server.

 

(Although I am in the process of creating a site in RoR (Ruby on Rails) as I like developing in Ruby much better personally.)

 

Cheers!

Rahul

Rahul Parkar

"On second thoughts Nappa, catch it, catch it with your teeth" -- Vegeta

Professional Nerd. (Professionally not professional)

Link to comment
Share on other sites

Daniel Hawton
Posted
Posted

Having done Perl CGI, ASP, ASP .NET, and PHP development for websites .. out of all of them PHP is the easiest. That is why, for websites, I stick with PHP. C# on the .NET side might be great for programs, but it is a pita for web development. Much easier to stick with PHP... and I never have to worry about what platform the server is on.

Link to comment
Share on other sites

Ross Carlson
Posted
Posted
Having done Perl CGI, ASP, ASP .NET, and PHP development for websites .. out of all of them PHP is the easiest. That is why, for websites, I stick with PHP. C# on the .NET side might be great for programs, but it is a pita for web development. Much easier to stick with PHP... and I never have to worry about what platform the server is on.

 

I've done a lot of PHP web site development in my professional life, but I also did one fairly sizable web project in ASP.net, and I found that I really liked it. I think the thing I liked most was being able to use Visual Studio and Intellisense. And I'm a C# junkie anyway.

 

Definitely can't beat PHP's platform support, though. I've been looking for a good PHP IDE with code completion as good as Visual Studio's, but haven't found one yet. Any suggestions?

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Daniel Hawton
Posted
Posted

I use vim for web development.. IDEs are not something I enjoy working with.

Link to comment
Share on other sites

Ross Carlson
Posted
Posted
I use vim for web development.. IDEs are not something I enjoy working with.

 

I guess for a non type-safe scripting language like PHP, the development speed benefits of a good IDE aren't so obvious. With C#, however, my development would be noticeably slower without the IDE, no doubt.

 

I'd still love to have a good IDE for PHP with code completion and method signature hints. I use Komodo Edit right now because I like its project support and syntax highlighting, but it leaves a lot to be desired in the other areas.

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Rahul Parkar
Posted
Posted

Surprisingly, Adobe Dreamweaver has relatively good code completion, and is also pretty good all around... , but the pricing is a different matter.

 

NetBeans Code completion isn't all that bad. And with Plugins, it just gets a lot better.

 

I would personally suggest giving Netbeans a go, you might like it Ross

 

Cheers!

Rahul

Rahul Parkar

"On second thoughts Nappa, catch it, catch it with your teeth" -- Vegeta

Professional Nerd. (Professionally not professional)

Link to comment
Share on other sites

Ross Carlson
Posted
Posted
I would personally suggest giving Netbeans a go, you might like it Ross

 

Will do ... thanks!

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Rahul Parkar
Posted
Posted

No worries,

 

I shall send you an email later consisting of some nice plugins (unofficial) that should help with development, Also, I would suggest looking at the plugins available in the official plugins section through the program, they're also really neat!

 

Cheers!

Rahul

Rahul Parkar

"On second thoughts Nappa, catch it, catch it with your teeth" -- Vegeta

Professional Nerd. (Professionally not professional)

Link to comment
Share on other sites

Luke Kolin
Posted
Posted

Netbeans.... we'll get you to Java yet!

 

Seriously, the need for the IDE is directly proportional to the size of the code base. When you're changing the API to a shared component or doing a global search and replace, it's incredibly helpful to see what all is going to break, and be able to do it quickly and easily prior to compile time, never mind run-time. I have a 1500+ cl[Mod - Happy Thoughts] codebase, and I'd be dead without an IDE.

 

Cheers!

 

Luke

... I spawn hundreds of children a day. They are daemons because they are easier to kill. The first four remain stubbornly alive despite my (and their) best efforts.

... Normal in my household makes you a member of a visible minority.

Link to comment
Share on other sites

Rahul Parkar
Posted
Posted

Luke... I was just being sly, give it a few months and we'll convert Mr. Carlson xD

 

P.S. I agree wholly with the second paragraph

 

Cheers!

Rahul

Rahul Parkar

"On second thoughts Nappa, catch it, catch it with your teeth" -- Vegeta

Professional Nerd. (Professionally not professional)

Link to comment
Share on other sites

Kevin Kelm 910510
Posted
Posted (edited)

Not going to even start the ole' .net vs php debate (as fun as that is), but glad to see other developers using it. I figured PHP is more common because simply put; it's free. However, .net isn't exactly expensive either for a personal use. As a college student, I get VS2010 for free from Microsoft, but you can get Visual Web Developers (while not as robust as VS) to develop some basic applications. I end up using MySQL for many web applications with .net just because I'm familiar with it. MySQL released the .net connector which adds great functionality; even a MSSql compatibility mode.

 

I'm with you though Ross, I think half the reason I like .net as much as I do is because of intellisense; much easier to have intellisense guess your object name or method name than having to run the program to find out the hard way that you misspelled it. Now only if I could get more developers to write tutorials in C# over vbscript...

 

I just started using AJAX and JSON; pretty sweet stuff. I'm not sure I like the built in AJAX controls in .net though, they are robust and easy to use, but I don't feel like it's as clean as using xmlhttprequest and doing it yourself. Any thoughts?

Edited by Guest

ZSE C1 | UND ATC CTI Student

 

Private Pilot | Member of UND Flying Team Competition Team

 

2011_CTR_WK48.png

Link to comment
Share on other sites

Rahul Parkar
Posted
Posted

I do it manually mainly because I don't need a robust framework for the minimal AJAX I use. (Right now)

 

There are some great books out there on ASP.NET development using C#, It's mainly a matter of finding some, I'll try and find some ISBN's of some that I have that I liked personally for you if you want?

 

Cheers!

Rahul

Rahul Parkar

"On second thoughts Nappa, catch it, catch it with your teeth" -- Vegeta

Professional Nerd. (Professionally not professional)

Link to comment
Share on other sites

Kevin Kelm 910510
Posted
Posted
I do it manually mainly because I don't need a robust framework for the minimal AJAX I use. (Right now)

 

There are some great books out there on ASP.NET development using C#, It's mainly a matter of finding some, I'll try and find some ISBN's of some that I have that I liked personally for you if you want?

 

Cheers!

Rahul

 

At my work we do have some fairly good resources available, I'm trying to move to a more client-side methodology in my development. I used to use Javascript and various js libraries a ton, but I ended up using built in .net controls for such things. I think it would really clean up my pages to let the client do some of the work. Most of the front-end work .net does is Javascript anyways, but it outputs it into files and things that are highly un-manageable.

 

What I really need is a good AJAX book to learn to write out my own Ajax requests myself! From what I've read, it seems that multiple UpdatePanel controls, on a very complex application can take large performance hits on your server.

ZSE C1 | UND ATC CTI Student

 

Private Pilot | Member of UND Flying Team Competition Team

 

2011_CTR_WK48.png

Link to comment
Share on other sites

Ross Carlson
Posted
Posted
What I really need is a good AJAX book to learn to write out my own Ajax requests myself! From what I've read, it seems that multiple UpdatePanel controls, on a very complex application can take large performance hits on your server.

 

Yeah, big time ... not only can it dramatically increase the size of your pages (through both javascript and the viewstate data) but whenever a call is made to the server to update a panel, the entire page is posted and refreshed behind the scenes, and the .net JS libraries just update the DOM for the one panel that was submitted. The rest is thrown away. (Wasted)

 

You might want to take a look at ASP.net MVC ... it doesn't have these issues, and doesn't get in the way of doing your own client side coding.

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Kevin Kelm 910510
Posted
Posted
What I really need is a good AJAX book to learn to write out my own Ajax requests myself! From what I've read, it seems that multiple UpdatePanel controls, on a very complex application can take large performance hits on your server.

 

Yeah, big time ... not only can it dramatically increase the size of your pages (through both javascript and the viewstate data) but whenever a call is made to the server to update a panel, the entire page is posted and refreshed behind the scenes, and the .net JS libraries just update the DOM for the one panel that was submitted. The rest is thrown away. (Wasted)

 

You might want to take a look at ASP.net MVC ... it doesn't have these issues, and doesn't get in the way of doing your own client side coding.

 

I have glanced at MVC's framework, definitely different; but really clean. For VSTARS/VRC is it developed as a windows form application? What kind of framework do you use for that? Excuse me ignorance, I've never used .NET/C# for anything but web development (web forms).

ZSE C1 | UND ATC CTI Student

 

Private Pilot | Member of UND Flying Team Competition Team

 

2011_CTR_WK48.png

Link to comment
Share on other sites

Ross Carlson
Posted
Posted
For VSTARS/VRC is it developed as a windows form application? What kind of framework do you use for that?

 

VRC is written in C++ using old-school Win32 programming techniques. It does not use MFC or anything like that.

 

vSTARS is written in C# on the .NET 3.5 framework, as a Windows Forms app. It doesn't use MVC, MVP, MVVM, or any of those separation-of-concern patterns. (Although you could say that the Windows Forms code-behind model is a cheesy form of MVC.) All target and controller data is kept in isolated model/manager cl[Mod - Happy Thoughts]es, and the networking and voice stuff is abstracted out into separate [Mod - Happy Thoughts]emblies using the Adapter pattern.

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Kevin Kelm 910510
Posted
Posted

Interesting... are you using built-in DLLs for the audio codecs and things?

ZSE C1 | UND ATC CTI Student

 

Private Pilot | Member of UND Flying Team Competition Team

 

2011_CTR_WK48.png

Link to comment
Share on other sites

Ross Carlson
Posted
Posted
Interesting... are you using built-in DLLs for the audio codecs and things?

 

I'm using VVL, which is a C library that VATSIM owns, which contains the codec. I just wrote a C# p/invoke wrapper for it.

Developer: vPilot, VRC, vSTARS, vERAM, VAT-Spy

Senior Controller, Boston Virtual ARTCC

Link to comment
Share on other sites

Daniel Hawton
Posted
Posted
Seriously, the need for the IDE is directly proportional to the size of the code base. When you're changing the API to a shared component or doing a global search and replace, it's incredibly helpful to see what all is going to break, and be able to do it quickly and easily prior to compile time, never mind run-time. I have a 1500+ cl[Mod - Happy Thoughts] codebase, and I'd be dead without an IDE.

 

To each their own... when I started programming the only IDEs were very basic WYSIWYG editors for HTML, Delphi and VB IDEs. So I got real comfortable with basic text editors and comments. The way I name and separate files as well helps me keep track of my projects. Granted, my biggest project is only about 5600 lines of code, I don't find myself with a need for a mouse (mostly because I rarely use one having started my computer "career" on DOS and early versions of Linux Slackware... even when controlling real world on STARS I damn near never touch the track ball).

Link to comment
Share on other sites

Erhan Atesoglu 1050499
Posted
Posted

Kevin: I think this is what you are looking for http://canadianxpress.ca/Xpress/Default.aspx . I personally do have fanboy nature about Microsoft and especially their development environment. The cost of ownership is definitely going down, and Microsoft servers are already fairly competive with their Linux counter parts when it comes to cloud services. It's at the point where even running Apache/PHP on the Windows Platform might make sense to some just because they are 100% familiar with using Windows 7 already and of course Visual Studio/Access.

 

I think it would be grand to have a C#/ASP.net code behind library.

Link to comment
Share on other sites

Kevin Kelm 910510
Posted
Posted
Kevin: I think this is what you are looking for http://canadianxpress.ca/Xpress/Default.aspx . I personally do have fanboy nature about Microsoft and especially their development environment. The cost of ownership is definitely going down, and Microsoft servers are already fairly competive with their Linux counter parts when it comes to cloud services. It's at the point where even running Apache/PHP on the Windows Platform might make sense to some just because they are 100% familiar with using Windows 7 already and of course Visual Studio/Access.

 

I think it would be grand to have a C#/ASP.net code behind library.

 

You know how people are; they hate everything Microsoft just because its Microsoft.

 

I also have been looking into nodejs which looks like a pretty cool technology. I am always fairly cheap when it comes to my hosting being a college student and all so not sure I'd get to use it anytime soon. I get my microsoft hosting with 10 MSSQL and 10 MYSQL databases for like $6 a month with Arvixe. They are very consistent, and offer the best windows hosting for this price I could find.

 

Can't IIS run PHP now too?

ZSE C1 | UND ATC CTI Student

 

Private Pilot | Member of UND Flying Team Competition Team

 

2011_CTR_WK48.png

Link to comment
Share on other sites

 Share