OpenStreetMap in ASP.NET - asp.net

I'm interested in using OpenStreetMap in a web application developed using ASP.NET.
Anyone knows if there is a control, library or wrapper for using OpenStreetMap in ASP.NET? (C#, not using Javascript).
Thanks in advance.

I'm not sure whether they have any ASP specific tools, but Cloudmade have lots of tools & API you can use to get OpenStreetMap into your app. It's mostly done on the client though through JavaScript, so I don't think you'll find much in the way of C# tools.
I could be wrong though...

BruTile is a C# library for displaying a slippy map. It can be used on the web, displaying via silverlight.
In my opinion a silverlight requirement is not a sensible choice for a public website, and not very sensible for internal use either from a long term perspective, so this isn't a great solution. But this is the only thing I'm aware of which matches what you're asking for.
"not using Javascript" is a curious restriction, since most embedded web maps use javascript. Perhaps you mean you don't want to work with any javascript, but the website can use it. In which case... I'm still not aware of any C# solution, but a library which wraps OpenLayers or one of the other alternatives, hiding all javascript development from you, would be very feasible. Someone should build such a thing! In the meantime, the javascript to display a slippy map is quite simple I promise :-)
The other approach might be a Static Map Image generating library which fetches tile images, stitches them into a single image and caches it locally for you to display in an <img> tag. Again such a thing would be very feasible (easy!?) to build with C#. Someone should do it! In the meantime you can link to one of those services (e.g the new one from MapQuest) directly from an <img> tag on your site. ...No javascript, and no C# either!

Related

Charts generator framework from ASP.NET to HTML5

I'm working in an ASP.NET environment and i'm searching a framework (better if it is open source) which generate INTERACTIVE charts on server side. Since i have to publish this project also for mobile, i'm searching something that produces charts in HTML5.
Anyone could give me a suggestion or links about it?
Thank's so much
Marco
Try out Highcharts .Net (sample website) or DotnetHighcharts. Both are C# wrappers written around the Highcharts charting library.
The original library is in javascript, but both these projects are based entirely on C#, and you dont need to write any javascript code to get charts working. Both have sample projects, in case you are interested, although I think Highcharts .Net is more feature-complete if i'm not mistaken..
If you are looking to use MVC, DotnetHighcharts is the way to go, but if you intend to use webforms, Highcharts dot net handles viewstate for the charts so state management is no longer a headache for you..
It's not exactly what you are looking for, but might fulfil your requirements.
Have to checked out Google Chart Tools? Not to be confused with their infographics api or image charts api.
They will generate HTML5 etc dependant on what browser is used.
And can be considered semi-server-side I suppose, it will generate a portion the markup on Google's server side (n.b. not your server side), though I guessing this will depend on what chart is rendered as some charts will probably be mostly client side. However for any interactive chart a certain amount of clientside technology will be used anyway.
So I suppose it depends on if you mean server-side you mean it is essential it runs on your own server. Running on Google's infrastructure does give you the advantages of a CDN etc so it might outway the need of running on your own server.
You can use Syncfusion HTML5 chart control for your requirement. You can create chart with interactive features such as highlight date points, tooltip, exploded pie, etc., in ASP.NET environment .
Also, The HTML5 chart is using element for chart rendering. So, it is providing effective Client side interaction to the chart control. Please refer the below online document and sample link for HTML5 chart.
Documentation Link:
http://help.syncfusion.com/User%20Interface/ASP.NET/Chart%20in%20HTML5
Sample Link:
http://asp.syncfusion.com/demos/ui/chart/HTML5%20Chart/ChartAdvUserInteraction/HighlightDemo/CS/HighlightDemo.aspx
If you are interested in a commercial tool, I highly recommend Highcharts. We are using it in our commercial application. The pricing model is good--we evaluated it against FusionCharts--and it is very feature-rich, interactive.
Although commercial, you can use Highcharts under a CC license for everything except for-profit commercial apps.
its old link, But Amcharts are good option too. i used with webform and mvc applications and worked great for me.
You can use Shield UI HTML5 chart library, that will suit your requirement. I have tried it in ASP.NET environment and performs pretty well. For some examples please refer hereL https://demos.shieldui.com/aspnet/aspnet-chart/drill-down

how complex can an ASP.NET web page be?

I'm building a Bridge game.
The main page, where you play the game, boast some 200 controls, like buttons that represents the 52 cards, 26 others for won / lost tricks, plenty of text fields... You name it, total some 200.
Actually its been already built and runs under Winforms model, but with the unavoidable question of implementing .NET 4.0 onto user's machine that must run Windows, and installing the software.
Hence I'm considering creating an ASP version (no PHP please, since I'm fluent in VB, and ignorant in C, Java, PHP and the likes).
Is that a "real" option or am I dreaming?
Will it run smoothly for users with a 2MB DSL connection?
Oh, by the way, no MVC please, I'm too old for that sort of sh...t :->
Can it be done? Sure.
The problem for you might be that to do it effectivly you will need to use HTML, CSS, Javascript and the like.
What most likely would be a good idea for you here would be to go the route of Silverlight. It will give you a more rich UI experience and will allow you to code in VB entirely.
I don't see using ASP.BET directly as a good option here. To make it look smooth, you would have to use javascript heavily. I thing you would be better off with Flash.
If you prefer to use pure HTML/Javascript/CSS you can create rich Web UI's by modifying the Document's Object Model (DOM). With little knowledge of Javascript and the usage of some library like: scriptaculus, prototype, sarissa, jquery, you can get rich interfaces. You should take a look at some of these libraries mainly scriptaculus because the set of animations it provides. Another javascript library made for game development is gameQuery.
With that many controls on an ASP.NET page your view state will be gigantic. If you plan on only serving up a couple of games at once then it shouldn't be a problem but you have to actually start thinking about bandwidth with that large of a viewstate. You would be better off with a DOM/jQuery type interface which displayed static images for the cards. All interaction can be handled client side and validated with a server side call.
This might be the perfect opportunity to learn javascript :). Remember each language you learn is another tool in your toolbox. The engineer with the most tools usually wins :).

Collaboration platform for developers and designers

Recently our newest web designer asked me why we use ASP.NET for our website. Reading through his question to the real one, I started thinking about it myself. Why are we using ASP.NET for web development?
The problem we find so far is colaboration between the design team and developers. Typically our designers create some snazzy cool look crayon laced web pages, then show them off for approval in all their glory. Once approved, the developers rip the HTML out and shove it in to ASP master and detail pages, and huzzah! out comes pretty website.
Since Dreamweaver doesn't play nice with Visual Studio, this is the same process for even small tweaks and changes. I would prefer to just write the backend and let the designers draw the pretty pictures and fancy CSS. Our current websites have plenty of reason to use ASP on nearly every page, so I can't do half in HTML, the other half in ASP.
I have no aversion to doing something else, another language, CMS platform, some other random buzzword, etc...
What are your experiences with this design situation? Are we doing it the hard way? Should we consider alternate platforms and languages? Are there any good, proven ways to allow designers to work on ASP (while still using Dreamweaver)?
Start learning Asp.net MVC as soon as possible. Designers will love you for that. :) And you'll be up to date with new development technologies that will also make your solutions much more robust and less complicated.
But otherwise. Designers should be able to read XHTML fluently. Learning asp.net semantics shouldn't be too hard. Then give then Visual Studio where they can manipulate content. As long as they know how asp.net web forms work things should be fine. They'll probably be able to do majority of things using just CSS. I know I can. Sometimes I do have to check resulting HTML, but it works.
Aside from Wicket (a java web framework), I don't know of any framework or language that would allow designers to continue to work on the design once developers have started to add logic to it.
I would suggest two things though:
Use a MVC framework - ASP.NET MVC, Ruby on Rails, Django, etc since this allows for far more separation of presentation and logic
Keep your presentation layer as stupid as possible and use helpers as much as possible or even better, put the logic in the domain objects. The view should only show or get data with absolutely no logic for processing data, this will keep the pages much more designer friendly.
I find your question very interesting because no matter what kind of technology the project uses the interfaces between the different roles will always cause some friction. I am not sure if there is a technological solution to this communication issue because the designer and developer speak literally different languages.
Depending on the skillset of your designers and developers an additional layer might help you out. I do not know how ASPX works but i am sure there will equivalents to the concepts of other technologies.
In case you have mainly static content which can be expressed in XML than you could provide the backend which delivers the content in XML with a defined Schema and your designers could describe the transformation in XHTML and CSS via XSLT. Given that your designer are capable using XHTML and CSS the addtional effort to learn XML and XSLT is not that huge. I find this solution much powerful than template languages which try to emulate the richness of the serverside scripting language in their own limited constructs. In case you have dynamic elements on the clientside like DHTML, AJAX or you name it you could define your own xml tags which are transformed to richer client side objects after the designer did their work. I guess the designer will understand the usage of these special tags and you provide the proper translation into client side objects.
I used this approach with some coworkes based on PHP. PHP was only the driver for the transformation. The content was assembled into xml with special tags which were transformed into XHTML and CSS via XSLT. Once the objects and the transformation for the different objects is defined you build up a library which can help to shorten the developement cycle of new pages of you webapplication. The benefit of the extra work is, that you designer can change the layout of the page without ever touching you server side code.
Maybe this helps.
Consider using either Expression Web or SharePoint Designer. The latter is now free.
I know you specify dreamweaver, but have you looked at Blend? It plays very nice with Visual Studio and is quite a nice app. to work with.

how to design a game web app?

i know vb.net, but have had no experience at all with web programming. i need to make a web app that can run in a browser where there is a board game and pieces that you can move around. can someone help me get started? are there any examples in asp.net?
i need something like this:
http://www.hallofbrightcarvings.com/game/grid
i don't know what language this is built in, but i would much prefer vb.net. i would like the pieces to be pictures instead of text. please help get started.
I have a very basic example of moving pieces around a grid written in javascript.
You can see it in action here and if you take a look at the source you can see it's done with jquery mostly. Feel free to take a prod around, I haven't updated that version in a long time but hopefully you might find it useful.
I think ASP.NET can do very little for you according to what you described. What you need is either Flash or Javascript skills.
Let's decompose this, you need two things if you want to make the whole thing yourself
Client Side: Flash, SilverLight, JAVA
Server Side:PHP, ASP.net, Java
As you know vb.net and want to work with asp.net, so I recommand to use Silverlight.
How complex can this be?
Depends on what you want to build, if you want to build a Mafia war games, then you'll need to work the user interface and it'll be very hard. Also the server side will be important as you need to handle registration and relation between different players.
If you specify more your question, you could get better answers.
The example you cited above is fully client-side, which means the code all sits on the browser and the server doesn't do anything to enable the grid. So if you did a "Save As" of that page on your computer, you could run it offline.
You should use the view source functionality of your browser on the page you cited, and look at how it's built. It's done using HTML, CSS and javascript. Use w3schools to get yourself started on those three matters.
If you really need to code it using vb.net, I don't know of any way that allows drag-and-drop for web forms. I'd be interested to know though. Ajax and .net drag-and-drop should be keywords for you to look into.
To do this on the web, you'd probably want to divide the project into two components: Client-side and server-side.
On the server-side, you'll want to use language like PHP, Python or ASP.NET. I think ASP.NET has some way to use VB.NET, so that would be a good choice for you to minimize the number of new things you need to learn.
Client-side is going to be the big hurdle. There's basically two different approaches to take here:
HTML+CSS+Javascript, using HTTP callbacks (ie, AJAX) to communicate with the server.
Flash using Flex (I think HTTP calls is probably the easiest way to talk to your server here as well.)
For a game like that, I would think that Flash is probably the best way to go. It will be easier to do graphics and sounds, and it'll run the same in every browser that has Flash support.

Best way to learn Ext JS for use with ASP.NET?

I have very basic knowledge of Javascript and now I am looking forward to learn Ext JS and implement in in my ASP.NET application.
If anyone can guide me on how to start and which book I should follow, I'd be thankful.
Nor sure if it is the quickest approach, but all I did (as well as another developer that was working with me) was review the ExtJS documentation and samples gallery (and viewing their source).
One big issue to watch out for when using ExtJS with ASP.NET is that when using BorderLayout you will go crazy trying to figure out why Postbacks no longer work. There is a workaround though.
Another ASP.NET gotcha is that if you use ExtJS to talk with ASP.NET web services (or WCF) you have to do some special things to get it to work (adorn your webmethod with special attributes, or add some things to web.config, etc).
Those were the only two gotchas I can recall, other than just learning and getting the hang of ExtJS itself.

Resources