Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
i got a project where i must create à web application based on ASP.NET (C#), i need to generate dynamic statistic into a dashboard, the data is extracted from the database. the user can export to XML or CSV file. My database is on SQLserver express 2014 and i m using visual studio 2013.
Looking for advice, what sort of technology to study .
thanks.
Dali, you haven't mentioned if you need to use MVC or WebPages for your project so I will assume it's MVC. However, you can apply the same steps to WebPages with slight modifications.
There are MANY ways to build a dashboard in ASP.Net. Each has its own pros and cons. Please, use your own judgement. This list is nowhere near complete so I would recommend to search possible options online.
1. SSRS Dashboard
Many developers think it's an outdated technology, and, while I agree with them, I still think it's worth to learn if you're trying to implement Reports repository with basic functionality (daily snapshots, parameter filtering, report scheduling). SSRS supports different formats like Excel, HTML, XML, PDF. It's easy to learn and very intuitive. It uses Visual Basic for scripting, and can be easily integrated in .ASPX web pages.
Take a look at some examples.
2. R + MVC
This is a good option for the statistical dashboard. I personally have no experience using R so I cannot tell for sure if it's a viable option in your case. However, it's something to consider when you do your research. Here is a good example to get an idea.
3. JavaScript Chart Library + MVC
Here is good a example. For the JavaScript library, you can use either D3 or HighCharts. Both are great and powerful. Both can be easily integrated with .Net framework. Also, this option is recommended if you already know the JavaScript. There is no need to learn anything else.
4. AnjularJS (or any other JS framework) + MVC (or RESTful API)
This one is my favorite because it provides a lot of room for customization and is flexible enough to satisfy your client needs. Some developers avoid using MVC and replace it with WebAPI (or even SignalR). This also a great solution and allows you to reuse the code if you decide to build a public API based on your dashboard data in real time. Here is what I'm talking about.
P.S. In all these options, SQL Server is used as a main data storage that is why I decided not to include it everywhere. Since you are a .Net developer, it's an obvious choice that you stick with SQL Server, in my opinion.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
My case is - I'm developing a system that help a car service to communicate with their customers and vice versa. There will be two products - a mobile app written in Xamarin.Forms and a web page in ASP.Net - both doing same things more or less, an alternative. The database will be hosted on SQL Server. And now I'm confused about the "middle" layer. I have been reading a lot about WCF and WebAPI and I still can't figure out which is better for me. Any suggestions for this scenario?
"Better" is always a hard question to answer. So, that's my disclaimer.
WebAPI is currently pretty standard, and quite easy. It allows for simple REST api's - although these are very doable with WCF as well.
The main difference between WCF and Web API
Web API
is, well Web (HTTP) - almost every language supports it, it's relatively light weight.
WCF
It's big - HTTP is just one of the options for binding. It's ideal for enterprise wide connectivity solutions. For example - reusing your logic for HTTP bindings and or message queueing.
One nice feature of WCF is that, at least for C#, it generates client libraries and models for you. It comes with Visual Studio (note: see warning). For the WebAPI, you might need to create the client libraries yourself - which basically be a lot of HTTP calls.
If you want it simple - WebAPI has very good support and can be implemented easily from any language - the clients and models are pretty straight forward - but usually you do need to code them yourself, unless you use OpenAPI spec and some toolkits.
Warning
The generated WCF libraries, might or might not be compatible with the framework (Mono, Xamarin, Core, etc.) you are using. As #Dai mentions, the WCF client library generation might be outdated. Although I do not know if there are more open source tools available to extract clients from the WSDL. So, you should try if your client is compatible first.
For Web API client generation, you can look at tools like Swaggerhub. Do note: you need to define the spec in your application (or provide it explicitly)
See: https://swagger.io/tools/swaggerhub/
The advise (obviously just an opinion)
If you don't need the full package of WCF, the extensive binding capabilities and such, I would go for the WebAPI variant.
If you combine it with Swagger (OpenAPI spec), you'll get a pretty open and easy to use API available for a broad variety of languages.
For more info on swagger/swashbuckle: https://learn.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-3.1&tabs=visual-studio
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I just need some indications to get started on a personal project I have. As little as "install this and read that" will do.
Project Overview
I want to create a database for all the movies on my personal cloud drive and host it on a website available to everyone connected to my network.
Required Features
1)Sort movies by year or by actors.
2)Available to everyone on network.
3)Free.
4)This is optional, but I've heard of IMDB APIs that can be used with databases in order to populate "actor", "director", "year" etc... fields. It would be nice if I could use this.
Background
I am an engineering student and have always liked coding. I mostly use mathematics-oriented languages like matlab, fortran and c++. However, I have zero experience with anything web-related.
Possible approach
It looks like using ASP.NET framework with SQL is my best bet here.
I have found this tutorial, however I am not sure this can satisfy requirement 1), 2) and 4).
I have also read a bit on the w3schools website, again which suggest that ASP.NET + SQL is the way to go.
Any help is appreciated.
If this comes off as offensive, I don't mean it to.
It seems you are newer to programming, or at least the .net world of programming. Given this I would try to do things very simple.
I would just try to make a simple app that can do what you want (store info, sort, filter, and be able to access a web api).
To make it easier for you to get started, here is what I would use to crank this out.
I would create a winForms app in c#. I would use SQLServers new (LocalDB) to store my data.
That is it (for starting). You will need to learn to use Ado.net, T-SQL, how to create tables, and if you want to access IMDB you can learn that API also and how to connect to that.
But start small.
You need to research and look into a lot of this yourself. Buy a few books or google SQL for beginners.
You absolutely can do 1, 2, and 4 with SQL.
A good way to start this project would be looking into ER diagrams online and then going from there.
Also look into SQL Server or Oracle.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
So I just started working in a new environment. Its a Microsoft Shop that uses ASP.NET MVC 4 on most of their projects. I'm coming from a mac/linux/open source environment where I worked on the front-end exclusively.
I'm having a hard time working in this .Net environment for a few reasons, one being that ASP.NET MVC is completely new to me. I also feel like to effectively fix issues I need to have some full stack skills too.
I've looked around for some ASP.NET MVC books but most of them expect you to know a bit of C#. I have no interest in learning C# though. What can I do to help myself work more effectively in this environment?
Firstly, Your best resources are the people around you. They understand not just the framework but they way the business is using it. In any framework there is a myriad of ways to do something, it may not be the best way, but its they way they have chosen.
Books are great if you want to get a general understanding before you start, but once you are in there the fastest way to get into it is use the people around you. As questions, lots of questions, make sure they know you aren't incompetent, just that you want to learn.
Secondly, if you don't want to learn C# your in for some trouble, ASP.NET (even doing front end only) will require knowledge of C#. the pages are .cshtml for a reason because they amalgamate C# and HTML in one.
Depending on how deep you are required to go, you may need to write up some controller functionality, meaning you will need to understand C# fully. If you are solely doing .cshtml pages then a limited subset of C# should suffice. However the more you know the easier you will find it in the long run.
C# is one of the language which you can use to drive ASP.Net MVC Technology. You can opt for other languages like VB.Net also. In my answer, I am going to say some options other than C#, that is build your server with JavaScript, render you page with JavaScript framework.
To learn ASP.Net MVC - Pro ASP.Net MVC 4, ASP.Net MVC 4 in Action
If you do not want to learn C#, then you can build applications only with HTML, CSS and JQuery. So the complete middle tier would be of JavaScript. There are JavaScript Servers like Node.js. You can learn Node.js from this book - Node.js in Action.
Instead of using Razor to render pages in ASP.Net MVC, you can use plain HTML and CSS and using JQuery frameworks like KnockOutJs, AngularJs etc. Before you get on to this JavaScript frameworks, its better you refresh/learn your knowledge in JQuery thorugh JQuery in Action.
Having your frontend and middle tier both in JavaScript, removes the complete dependency of ASP.Net MVC and C#. At the same time, even if you Middle Tier (Server) is built with IIS and ASP.Net MVC combination, you can still use JavaScript frameworks to render frontend.
As mentioned above if you want to get started with Middle tier in ASP.Net + IIS combination, C# must be learned (definitely it will not demand in-depth knowledge, but you should get some experiences in concepts like LINQ etc.,). To learn C#, get this book - C# 4.0 Unleashed.
As you just got started, you can go with ASP.Net MVC + C# combination, and then slowly look into other options as I mentioned above.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
Hello I am interested in hearing objective responses in what should a beginner dedicate his or her time into:
ASP.NET, Visual Studio, C#, IIS, Team Foundation Server?
or
Python, Django, PyCharm?
These are just some criteria that I am interested in:
Easy to start out with.
Good documentation.
Highly-scalable.
Big Career opportunities.
Feel free to post your personal opinion on this matter or if you've had an experience with both ASP.NET and Django.
C# or java will pay the bills, python will be way more fun
This is a big question, I'll give only several points according to your interests:
In general, Django is easier to start than ASP.NET. Simplicity is one of rules in Python's Zen. Also Django explicitly shows you all control flow, so you can understand internals of framework very quickly. On the other hand, guys from Microsoft did their best to make web development similar to development of desktop applications. ASP tries to erase borders between server and client sides. I can't say with confidence, if it is good or bad idea, but I know that at some moment you'll have to understand difference between them anyway.
Both. Python community provides tons of documentation, and Django official documentation is always up-to-date. Django is popular in community, but ASP is corporationally promoted and supported. In general Django has more tutorials and ASP has more books about it. Books are more complete, but they are really big.
None of them. They both are primarily view technologies, and for scalability you'll need some heavy server side technologies. Nevertheless, if it's all about supporting thousands of concurrent users (and not some computationally intensive applications), both technologies work well. See this for some good examples in Django and this to take a point of ASP.NET scalability possibilities.
It heavily depends on your region and current situation. I can only say that ASP.NET is used in large companies, and Django is for small companies and freelance. For more information see your region vacancies.
I've been an ASP.NET programmer for a few years, and I think it's pretty easy to get into. The downsides here are that Microsoft products (TFS in particular) are expensive. Of course, my experiences have been directly related to that -- I've never tried Python in any regard -- so I can only offer my perspectives as an ASP.NET programmer.
There are a lot of people who would (accurately) tell you that the page lifecycle in ASP.NET is a gigantic pain in the ass, and that's true too. I personally don't use the server-side part of ASP.NET very often anymore because juggling the lifecycle just leads to messy code and built-in obtuseness. That said, it's really easy to integrate ASP.NET WebServices with jQuery and JavaScript.
My experiences with IIS have been pretty good as well, although I can't speak to its problems in more complex environments.
I do love TFS, though. In particular, if you're working as a part of a team and need to get user bug reports or enhancement requests, there's a lot of great built-in integration. However, configuring and maintaining TFS is a full-time job in and of itself if you're a part of a development team in a corporation.
All that said, I'm not sure it makes much sense to limit yourself to two core languages and then ask about career opportunities. These are going to vary from place to place. I don't see many Python positions where I live, and there were a lot of MS/C#/ASP.NET positions available when I was looking for a job.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I have couple of ideas in my brain which I would like to bring out before it's too late. Basically I want to develop a web application which I could sell it to clients. So which technology shall I use to accomplish this? I have been a C and C++ software developer but it's been a very long time since I have developed one. So the things I would like to know is:
Scalability and Performance?
Easy way to develop web application in a faster manner?
Any Framework?
Application server?
and which programming language?
Usually the programming language doesn't really matter. All have their own strengths and weaknesses. All come up with their own best-practices and frameworks.
It's really up to you what's your preference. If you are coming from Microsoft C/C++ I'd use .NET, if you are from Linux world I'd use Java.
Back in the 90s Java was well known as a slow framework, however there was much of myth and the framework architecture is dramatically changed since that. Today, there is no generally slow or fast framework.
You can find thousands of sites in the web that tell you that the one or the other is faster. However, at the end of the day it depends on how you implemented your solution and how you utilized the best features of the framework.
Greets
Flo
I would suggest using C++ with CPPCMS as it's becoming stable and is precisely targeted at high performance web applications.
See if the rationale match your goals.
Build with:
C#, you'll love it (I'm also an old C++ developer)
ASP.Net MVC (Validation, caching, Spark view engine)
Any ORM having a cache layer (I prefer nhibernate)
Database with lots of allocated memory
I kinda think this is almost more like a religious problem, than a real technical issue. For almost every programming language you can find a big website that's using it.
.NET -> Microsoft
Ruby -> Twitter (yes, they have a few issues, but still)
PHP -> Facebook
Java -> Lots of finance companies
Don't know about Phyton, but I'm sure there is.
More important is a good scalable architecture. That is where Twitter kinda screwed it up it seems.
Personally I use ASP.NET. Works fine, is somewhat easy and has a nice IDE. And the market is not so fragmented. Before I used Java with Websphere. Was running on a Sergenti Sun Box, so could definitely handle a lot.
I would more see into what you can get yourself into the quickest. If you know C++ C# or Java are easy to learn.
You should take a look at ASP.NET.
Using ASP.NET has got a lot of advantages, and it is very performant. Here you've got a short list of some advantages:
ASP.NET drastically reduces the amount of code required to build large applications.
With built-in Windows authentication and per-application
configuration, your applications are
safe and secured.
It provides better performance by taking advantage of early binding,
just-in-time compilation, native
optimization, and caching services
right out of the box.
The ASP.NET framework is complemented by a rich toolbox and
designer in the Visual Studio
integrated development environment.
WYSIWYG editing, drag-and-drop server
controls, and automatic deployment are
just a few of the features this
powerful tool provides.
Provides simplicity as ASP.NET makes it easy to perform common tasks,
from simple form submission and client
authentication to deployment and site
configuration.
The source code and HTML are together therefore ASP.NET pages are
easy to maintain and write. Also the
source code is executed on the server.
This provides a lot of power and
flexibility to the web pages.
All the processes are closely monitored and managed by the ASP.NET
runtime, so that if process is dead, a
new process can be created in its
place, which helps keep your
application constantly available to
handle requests.
It is purely server-side technology so, ASP.NET code executes on the
server before it is sent to the
browser.
Being language-independent, it allows you to choose the language that
best applies to your application or
partition your application across many
languages.
ASP.NET makes for easy deployment. There is no need to register
components because the configuration
information is built-in.