I'm new to ASP.NET programming and I'm using Visual Studio 2013 Ultimate.
When I create a web form the controls look like this.
But when the Visual Studio auto-creates web forms, they look smooth and shiny like this.
How can I create such smooth/beautiful web forms? What topic should I study?
Thanks a lot.
You need to learn the building blocks of awesome looking web-sites, and those blocks are called JavaScript and CSS, but more importantly HTML, and now HTML5. Then you can look into Bootstrap, Foundation, etc... and see/learn how they use those building blocks to render/design awesome looking interfaces that not only look good on desktop web-browsers, but even mobile web-browsers on Android and iPhones. For example, if you utilize Bootstrap to build your ASP.NET application you will not only build for desktop web-browsers but even for mobile platforms, so your work will look great on most mobile/tablet devices.
Then you can kick it up a notch and get fancy with HTML5 and build/tie interactive graphics to your application using something like KineticJS. Then go further and learn Signal R or XSockets.NET to build real-time interactive web applications using the power of WebSockets and WebAPI. With that power you can go even further and add real-time Video and Audio interaction to your web applications using WebRTC.
In short, to make things fancy you need to manipulate and utilize the power of the Web-Browser, since your entire user interface components are rendered on the client-side. So, you must learn HTML, JavaScript, and CSS to do magic! The standards of the Web and the power of modern Web-Browsers are growing at exciting rates, and so you must follow if you plan to develop web applications that will be virtually accessed from anywhere!
Since version 2013, Visual Studio has integrated Bootstrap to make forms look shiny and smooth. However, do not expect Visual Studio to keep-up with new User Interface paradigms, components and types of interactions. Yes, Visual Studio helps you design applications using C#/VB.NET etc... But it is up to your creativity and of course customer requirements to build awesome looking work.
Look at where HTML5 is going:
The second link you have ASP.NET is using Twitter BootStrap for its styling
BootStrap
This is a front-end framework with a bunch of CSS and Javascript to aid you in creating nice looking websites. There are other front-end frameworks such as Foundation.
If you want to do it yourself you will need to look into CSS styling rules. There are many resources for learning how to do your own CSS (some free, some paid).
Treehouse
CodeCademy
Code School
These should help you get started.
you should learn HTML and CSS then use them on your ASP.NET forms.
That particular ASP.NET web form that you posted is using bootstrap as a main css, which you could find HERE
Related
I am starting a new app that will target both web and mobile (but possibly only as HTML5, not necessarily a native app)... So, what are the frameworks you guys recommend? I am familiar with plain ol' ASP.NET, and some minimum AJAX. So is it best, for example, to build a ASP.NET REST based API with a JQuery and JQueryMobile?
I'm looking at a similar approach while we're commercializing an app of ours.
Considerations
After 5 months of research and experience combined with the comments above, here are some considerations:
Do you have control over your users' browser selection? If yes, HTML5 is a great and flexible. If your users are more up-to-date I would also recommend HTML5.
The server-side framework in most cases will not matter, as long as you can develop a robust server with an efficient data model that's familiar and manageable.
Are your mobile devices tablets or phones or both? If you are using phones it will be harder to fit and prioritize the interface.
Do you know all of your app's functionality? This will be important for determining UX which will then help you understand how you will build out the client.
Is your app real-time? And you have modern users? Websockets are handy. Here's a demo for ASP.NET http://wsaspnet.codeplex.com/
Recommended Frameworks
Given your case, here are some recommended frameworks to make life easier:
Stick with .NET on the server-side since you are familiar with it
Use backbone.js to manage your client-side template
HTML5 boilerplate is also worth a look http://html5boilerplate.com/mobile
Use the latest JQuery library
Use JQuery Mobile to adapt your HTML5 app to mobile devices
There's also JQTouch http://www.jqtouch.com/
Custom build your "fluid" javascript to adjust your client to different interfaces (I haven't been satisfied with current plugins and frameworks)
If you are using websockets, web-socket-js is very handy for a flash fallback https://github.com/gimite/web-socket-js ...otherwise stick with AJAX REST
Consider PhoneGap to adapt your app if you need to distribute the app in approved marketplaces outside the browser http://phonegap.com/ and https://build.phonegap.com/
Here's a C# Websocket server: http://www.codeproject.com/KB/webservices/c_sharp_web_socket_server.aspx
Remember
Sometimes it is just necessary to build a separate client for mobile if your app is complex. It can be native, HTML5, or HTML5 put through PhoneGap.
I want a visual tool to build the html for my ASP.NET MVC views, and Expression Web 3 is on sale. Alternative would be Dreamweaver. But I have not used either tool so I don't know if they 'play well' with MVC. I basically want a tool to design a clean, professional looking web front end without having to type up all the HTML by hand in Visual Studio and keep running the app to see what it looks like.
We ended up not having to design the web application after all, but I did end up purchasing Expression Web 3. It will help you generate the overall look and feel of your web page, and then you can take that and paste it into Visual Studio and chop it up into segments so it can be generated as a view in MVC.
That being said, you could also do the UI design with Dreamweaver instead of Expression Web. They're both just tools, and you'll only use them to do the UI design and artwork that you'll end up plugging into VS anyway.
You'll spend most of your time in VS. You'll still have to know your HTML and CSS very well because you'll be making your HTML and CSS tweaks in VS. When a change happens to the UI, you'll probably go back to Expression Web or Dreamweaver, but then you'll have to trace down the changes you made to the HTML or CSS and then make those same exact changes to the View you have programmed in VS.
Don't fret, though. I'm sure there are thousands of developers out there in the same predicament who are using MVC and the feedback I'm getting is that they love it. So although there is not a dedicated UI designer for MVC doesn't mean that you've picked a poor web development technology. I certainly wouldn't choose standard ASP.NET instead, or even Ruby on Rails because of a lack of a dedicated UI designer. Stick with MVC if you're in the Microsoft camp, its good stuff. And if you're not, then do Ruby on Rails.
Good luck, Klaus
I am working towards porting a windows application to web. The windows application is quite rich w.r.t. the form controls, complex validations and user interactivity.
Basic web forms are inadequate to meet these complexities. So I would like to know the best way to still have the richness on the web pages. I have some ideas and would like comments.
Use DHTML & Java Script to mimic complex controls. There are some macro controls available as part of jQueryUI that can be used and some other third party Java Script controls. I'd like suggestions if there is a recommended control library.
Use RIA (preferably Silverlight) wherever rich controls are needed. I'd like to keep this as a last option because it mandates the Silverlight plug-in.
What are other popular / preferred strategies?
If you don't mind a departure from .NET "controls", I'd try Ext JS. It is dual licensed GPL/Commercial so you'll likely have to pay for it, but the components are more robust than Telerik or the other .NET versions.
I would suggest that you also check out the tools from DevExpress (http://www.devexpress.com). I've used both Telerik and DevExpress and ended up going with just the DevExpress tools. Both companies, however, are top-notch and both have tools that can really enhance your UI.
With that being said, I would strongly suggest that you avoid the temptation to just port your fat client UI to the Web. That is, if you are just looking for web controls to take the place of your current Windows controls but otherwise leave the UI intact, you are likely to be disappointed. The web is a different kind of animal and people expect to use it differently. With Ajax, JQuery and the various specialty tools from a company like DevExpress or Telerik you can do amazing things on the web that are the equal of anything you may have done in your current fat client interface but they will be done differently.
Reasons for this advice? First, in my experience Windows UIs migrated to the web feel clumsy and inappropriate. The controls aren't the only thing that changes - the entire windowing and content flow models are different.
Second, if you are deploying to organizations outside of your own, you are likely to find that there is significant resistance to using any kind of plug-in - including Silverlight. We win business all the time because we've stayed pure web.
Third, to the extent that you try to build web apps while not really learning web development ethics and methods, you'll just slow down your eventual evolution to true web development experts.
Anyway - that's my $0.02.
We have had a lot of success with the Telerik controls for ASP.NET.
http://www.telerik.com/products/aspnet-ajax.aspx
They also have a suite of Silverlight controls.
http://www.telerik.com/products/silverlight.aspx
And for ASP.NET MVC.
http://www.telerik.com/products/aspnet-mvc.aspx
They are very easy to use and richly featured. The demos on their site should give you a good feel for the capabilities.
There was an article on Codeproject which covered converting Winforms to ASP.NET
Hope this helps.
We have a large code base in MFC and VB. A few applications are in .NET. All these applications interoperate with each other on the user's machine and also connect with Unix servers via sockets.
Recently we have started discussing a re-write of our applications and possibility of moving a lot of these desktop applications to web (they would run in intranet). A straight forward way is rewritting them in one of the .NET technologies. But a suggestion about using Google Web tookit has popped up and the argument is that it would help creating applications that would run in a browser on both desktop and mobile devices.
One of the key problem that I see is that GWT is a large abstraction over Javascript. This will require the team to learn GWT, Javascript, IDEs etc as their experience has been primarily Microsoft technologies and not Java. It would be easier for them to learn .NET technologies instead of GWT.
I do not have a depth of GWT and its drawback pittfalls and do not know about a parallel Microsoft Technology that I should investigate.
So I would appreciate if people here can share their views or experiences using GWT or equivalent Microsoft technology.
Questions like this are subjective, so you wont get one straight answer. Are you rewriting the unix/socket backend as well? Or do you intend to put a web service wrapper in front of the sockets because without this I cant see a web / internet solution working.
For my money if you are a .net/microsoft house then a MS technology is the way to go. MS is currently backing jQuery which is a client side javascript framework, but there are others like extjs. If you stick with MS and a server side solution then ASP.NET MVC is currently gaining a lot of traction. MVC and jQuery work well together imho.
If you set up a REST based web service layer for your backend it means you can even get away with flat html front ends powered by any javascript framework without needed a server side web rendering technology at all. For REST you can look at .NET WCF if you stick with MS tech.
Given that you've been working with MFC and VB, .NET is going to be a new world to you as well. At least with Microsoft you'll have strong development tools and learning resources that you'll need. Not so sure that will be the case with GWT.
But also, if one of your developers wins the lottery and leaves the company, you'll have fewer problems finding another MS developer to replace him.
Given you guys are a Microsoft development shop, I'd stick with the Microsoft stack (unless your developers really want to learn something new - in my experience that's rarely the case).
Anyway, I thought I'd bring up that Microsoft had an "embraced and extended" version of GWT called Volta that they release 2-3 years ago. The idea is that it takes C# as its source file, and compiles that to Javascript.
I suspect the project is dead (I can't seem to find a whole lot of information about it), but you may want to verify that. I brought it up because you guys seemed like a Microsoft shop who's interested in GWT.
Based on your provided information I think it is better to use fromMicrosoft Technologies instead of Google Technologies.
This will reduce Cost (include Time to learn and also the budget and etc)
on the other hand, Silverlight goes on the windows phone mobiles with (WinMo7) so your application will run as the same in Cellphones too. So my sugesstion is to use Microsofts Technologies.
I need to add a gallery to my website, to show screen shots of websites and applications.
I run IIS.
I'm looking for something that is fairly self-contained and ready to integrate without a lot of work. I'd like to through a bunch of images in a directory and let it go.
I would love some nice effects for browsing the gallery.
What would you suggest?
You might want to look at nGallery for ASP.NET 2.0. I've support an application that uses an older version of this. No experience with this particular version, though.
Consider Gallery Server Pro (www.galleryserverpro.com). It is a free open source web gallery based on ASP.NET and has been around for several years. It is easy to integrate into an existing site by using the self-contained ascx user control.
Disclaimer: I am the Creator and Lead Developer.