asp.net vs asp.net mvc or wpf broswer based application - c#

I need to make an application that will be used over the internet.
Detail: My application would be a some kind of word processor like ms-office (i know i can't make ms-office but can add some functionalities) in which any body can come and write documents for eg. (Applications,essay,books ,etc...) in our national language.
I have considered three options ASP.NET MVC and WPF (web) and ASP.NET(Web Forms).
WPF Web Browser applications can be accessed on IE and Firefox.
What are the pros and cons of using ASP.NET MVC and WPF (web) and ASP.NET(Web Forms) over the Internet ?ms-office is a desktop application can i acheive maximum functionalities by using web ?
Any suggestion would be appreciated

You probably want ASP.NET MVC.
Windows Presentation Form (WPF)
WPF is used more for desktop Applications rather than web applications. It probably isn't viable for this situation.
ASP.NET MVC
ASP.NET MVC is Microsoft's current method of developing Web Applications. From personal experience, it's a great system. It does have a bit of a learning curve but it shouldn't be too tough to pick up. There's a lot of good resources out there to learn it. I would recommend this for building a web application.
ASP.NET Web Forms
Web Forms is Microsoft's older way to develop web applcations. ASP.NET MVC is build off of this platform, but development doesn't resemble it in any way. It's a lot less robust system than MVC and doesn't have a very active community for help.
If you're looking for a good in browser text editor with options similar to Microsoft Word, I'd look at CKEditor. I've used it and it's pretty easy to work with.

You should consider ASP.NET Web Forms or ASP.NET MVC 3+.
As Thomasov mentioned, WPF is intended to make Desktop Applications. It may be possible to make a WPF Web Site, but don't. ASP.NET Web Forms and ASP.NET MVC are much better solutions for internet applications.
ASP.NET Web Forms is the older version of ASP.NET MVC. Web Forms and MVC have syntactic differences, feature differences, as well as performance differences. MVC will definitely perform better for a larger application and give you more flexibility than the older counterpart.
It is possible to get all the functionality from Microsoft Word into a web site, but this will entail a lot of time and effort. Everything is possible in the world of programming! ;)
Google Docs is a good example of a Web version to Microsoft Word, though not completely covering all of the functionality Microsoft Word has. I'm sure there are other examples as well.

Related

Could Blazor be used exclusively for GUI rendering in native applications instead of XAML?

I am thinking should I invest my time and energy to learning of Blazor.
AFAIK initially Blazor was the framework for development of the web applications, but it moving towards native applications.
Let me clarify that:
I already have enough good stack (TypeScript + frameworks) for development of Web applications and I don't need the Blazor as alternative
I don't need the server functionality of Blazor - ASP.NET is O'K for my needs
What I want from Blazor is taking care about GUI rendering in native applications (.NET MAUI, for example) instead of XAML.
Why it is great is:
HTML+CSS is more flexible than XAML
I can reuse my HTML+CSS developments in native applications
Talking about native application using the Web View we need to clearly below two cases:
The frontend web application which being executed inside Web View. Being the web application, it could NOT:
work with local files
use local database (please don't tell me about IndexedDB - it's off-topic)
use the native API
work offline
As native application, such applications has no value and in most cases could be replaced with PWA.
The Web View is being used only for GUI rendering while Web View could interact with native API, work with local files, local databases etc. Such concept implemented in Electron.JS but it does not support the mobile devices.
I am hope on 2nd functionality from Blazor.
Note about Blazor Hybrid
Maybe it is what I want, but I am not sure.
For example, it has the Web compound (wwwroot directory).
If there is the web version, either it it could be completely different with native applications or the native version will have same limitations as web version (e. g. working with local file system etc.)
.NET MAUI Blazor or Blazor Hybrid will run as a .NET application. The only thing that is still web about it is the UI. So I guess that is the short answer to your question: if you use .NET MAUI Blazor, you are using HTML & CSS for GUI rendering, while the rest is running as a .NET application.
Because we can run the .NET runtime on mobile devices through .NET MAUI, there is no need to spin up some kind of server process or use WebAssembly, it can run directly as a .NET application.
That also means you are not bound to the browser sandbox. If you want to use the camera? You can! Geolocation? No problem! Format the harddrive? Go for it! Depending on what is supported on a platform and if you implement the right permissions of course. It's still a (mobile) app.
The cool thing is that it's all still Blazor, so if you make the right code sharing choices, you can easily share all your code between any Blazor web project and the .NET MAUI Blazor project.
The .NET MAUI Blazor project indeed has web components, since Blazor is essentially a web technology, that's where it all began and to be able to easily transport that to the native apps, that has just been adopted.
Hope that clears it up!

How to create a Custom Form in CRM without HTML5, Silverlight or the built-in form editor

I've been searching for this answer for a while, and it lead me to Silverlight , but Microsoft says it's there for backwards compatibility, and recommends using the Web technologies as a resource you can use in the built-in form editor that comes within the Dynamics CRM Web Application.
Is it possible to embed a custom form of some kind into the CRM for more complex bussiness logic other than creating a HTML5 /Javascript page with calls to the REST services.... or programming a XAP file with C# in Silverlight which is going on the path of deprecation ?
I'm using MS Dynamics CRM 2013 on-premises.
Has anyone achieved this by using any other tools or frameworks ?
Is there a Solution (like the Ribbon Workbench) that will allow us to do this ?
One thing that I've seen is the use of iframes or url links that point to ASP.NET MVC, Web Forms, or any other server-side web technology. The drawbacks of this approach are that you have to maintain that set of code outside of CRM, and you cannot include that functionality in a CRM solution directly.
I agree with not using Silverlight due to the fact it doesn't work in all browsers, but I have had a lot of success doing HTML5/JavaScript pages using JavaScript frameworks like AngularJS with help from CSS frameworks like Bootstrap. This way, you can bundle up all your functionality into a CRM solution, and properly manage deployment to other environments with relative ease.
Hopefully this helps.

Is there any designer to declare View in ASP.NET MVC in drag and drop way like in WinForms, WPF or Windows Phone applications?

I learn ASP .NET MVC using this tutorial: http://www.asp.net/mvc/tutorials/mvc-music-store
There are few problems and one is creating View in not comfortable way as it would be in desktop WPF, WindForms, Windows Phone applications. Does Visual Studio or Blend or any Microsoft's IDE provides more drag and drop way to declare view in ASP.NET MVC?
The main problem here is that the drag&drop designers manipulate components, and ASP.NET MVC is not component-based. You have a couple HTML helpers here and there, but there are no components to manipulate in the first place. Plus, the ASP.NET MVC framework is terse, there are only a very few helpers and templates provided out of the box. It relies heavily on code for things like lists (#foreach(...)), whereas ASP.NET WebForms relies on components like Repeater, and you pretty much have to write a lot of stuff yourself, which in the end is a good thing because you are not bound by the many limitations of the components ASP.NET WebForms provides.
Perhaps my little explanation can make it more clear why there are no drag&drop editors for ASP.NET MVC.
Yoda, maybe you're attempting to learn too many things at once?
MVC isn't a technology you will learn overnight I promise you, and looking for drag and drop designers means you're trying to cut corners, and MVC is not a framework you want to do that with as it will come back to bite you.
Instead, I recommend the Pluralsight videos which are available free of charge.
Start with MVC 4 videos
After you feel competent there, move to the MVC 5 videos
The videos on MVC 5 assume that you already have knowledge on MVC 4, so as I said, start with 4.
(The videos are free of charge thanks to Microsoft footing the bill)
There is a graphical designer for creating views in drag and drop way, it's a visual studio extension named MVC Visual Designer, you can search it by using Visual Studio menu: TOOL\Extensions and Updates.
Disclaimer: I'm the author.

How to put a C# application on a webpage

I've been learning C# this week by building a few simple financial forms and I'd like to put them on a website, but some Google searches didn't come up with any useful information. What would be the best way to embed the applications I'm building into a website?
If it matters, I'm currently learning in C# Express, but I have access to Visual Studio Professional as well.
ASP.NET is actually the best way of putting .NET applications on a web page. If you want more richness and interaction you could always use Silverlight. If you have a specific programming related question with an actual problem you are encountering you could always use StackOverflow.
I am gonna disagree Darin, and say it's much easier to embed Silverlight applications onto a web.
Silverlight can deployed on pretty much any webhosting company, while ASP.NET requires special hosting.
you can use asp.net check this video How to Create a Web Site with Visual Studio HTML Control Tab and this Creating a Visual Studio Web Application

How to develop website for mobiles using asp.net(C#)

Is there any tool available for developing mobile websites using asp.net (C#)...
or else any other tool???
The same tools as you develop any other websites in C#: typically, Visual Studio. A mobile website only differs in presentation and in some capabilities (eg: javascript/css may be limited), but functionally it's the same as a "non-mobile" site.
There's no fundamental difference between regular cross-browser development and mobile development. You're still writing the same code, the same markup, etc. You probably need to be more aware of the limitations of the browser than usual, but that doesn't change the tooling or process.
Is there a particular problem you're having that you can't solve?
If you are going to develop a website for mobiles (as opposed to a native app), then the server side language does not matter that much. It's more a matter of the css and client-side framework (if any) you are using.
One option would be to use asp.net mvc on the server side and jQuery Mobile or http://jQtouch.com for the client side. There are also other options, but these are the best I have found for my own use.
As other people have said, if it's a website you're developing then the tools are the same as any non-mobile website.
Another option for the client side is Sencha Touch.
Take a look at Mobile Device Browser File (http://mdbf.codeplex.com/). Actually that particular project is no longer supported, but it used to work quite well. It basically automates a lot of the leg work of identifying the mobile client and rendering the right styles and script. You may be able to find something similar with a bit of searching.

Categories

Resources