I have done most of my work on Microsoft technologies like .NET MVC, DNN, SQL and others. I cannot move on with with Microsoft technologies because they are not open source. I want to know best combination of frontend and backend open-source technologies that can be used in startup for faster and efficient web application development.
Which javascript framework can be considered for front-end development?
Which database can be used?
Which backend technology should I go with?
Which technology is secure, fast and efficient?
There are plenty. As a startup, I would recommend going with the technologies that are familiar to who you're able to hire.
That said, here's a short list:
Databases
PostgreSQL
MongoDB
MySQL
Firebird
Application Servers (Programming Language)
Ruby on Rails (Ruby)
Django, Flask, Pyramid (Python)
Laravel, CodeIgniter, Zend, CakePHP (PHP)
Phoenix (Elixir)
Play, Struts, Spring (Java)
Revel, Gorilla, Beego, GoCraft, ... (Go)
NodeJS, ExpressJS (JavaScript)
Play, Life, Sweet, Slinky, Scalatra, Pinky (Scala)
Front-end JS Frameworks
EmberJS
Angular JS
React + Redux + ...
BackboneJS
Front-end CSS Frameworks
Bootstrap
Foundation
SemanticUI
Pure
UIKit
For the front-end, use a JavaScript framework, such as React or AngularJS.
For the back-end, there are many choices:
Python + Django / Flask
NodeJS + Express.js or many others
GO + Revel
Java + Play Framework
Choosing a dynamically typed language such as Python or JavaScript will probably lead to faster development at the begining. But a statically typed language will make your project easier to maintain later on.
I think that ASP.NET Core is fully open source stack now. So is good choice for web app. Furthermore, you can find some really nice offer from Azure. 10 web apps hosting for free.
What is more, In answer to your question... I would consider this stack from Microsoft(because you have some experience in this technology):
Database:
SQL Server 2016 Express
Backend:
ASP.NET Core
Front:
Angular
Good luck in your endeavour.
Related
Disclaimer: I do no have extensive SharePoint/.NET experience, mostly read through online Microsoft docs, so asking opinion in this forum.
I am modernizing 2 legacy microsoft apps. One is SharePoint 2013 site used for CMS and other is ASP.NET 2.0 web application having transactional frontend. New combined frontend must be JS based common for all screen sizes. Business wants most cost-effective solution, preferably on-prem. I am bit confused about the approach to unify both. 1) Upgrade path - Put ASP.NET into SharePoint farm and then modernize the UI pages. 2) Rewrite with SharePoint frontend - Build using SharePoint Framework (SPFx) which internally supports modern JS frameworks. 3) Rewrite without SharePoint frontend - Build a common JavaScript UI portal (ReactJS) and access the backend REST APIs (including SharePoint) sitting behind an API Gateway.
For Cost effective solution, don't use spfx / ReactJS. Their development environment settings are costly and expired in sometime by new version sooner.
One can rewrite using jsom in SharePoint online , as SharePoint online provides a very good code editor .
JSOM all operations are below :
https://www.codesharepoint.com/jsom/0/all-methods
Approach 1 (ASP.Net in SP Farm) - I would not consider this 'modernizing' as Microsoft's approach going forward is using front-end javascript based applications, which are extremely powerful with the amount of AD integration/Graph libraries/etc. made available. This feels dated in my eyes and could create issues down the road if the company ever wishes to migrate to SharePoint Online.
Approach 2 (SPFx) - This is where the Microsoft ecosystem is flowing with SharePoint modifications. It's also easy to tie into back-end services or other services using Azure App Registrations. There is a lot of flexibility here, you have the option to use ReactJS as well, among other frameworks. I would recommend this approach
Approach 3 (Custom App) - I have built solutions running off create-react-app and similar frameworks and I still try to leverage SharePoint if it is a significant part of the ecosystem as they have very powerful frameworks for tying into it such as PnPjs. It just makes integration so much easier, and you are working within the context of SharePoint vs a custom application on some other server which must be wary of authentication as well as the potential need of a back-end service for communication to SharePoint.
Pardon if it's a dumb question, but I'm trying to build a personal website and, in order to kill two birds with one stone, use the website to fulfill the requirements for a web development class at my university. I want to build my website using Node JS with MongoDB and Bootstrap, but my course requirements at a later project require that I migrate my project (other students are expected to only have designed their website using pure HTML and CSS) into a .NET framework and use Microsoft SQL Server as a database.
I'd like to know whether or not I can wrap or use Node JS inside .NET or if it is feasible for me to fork my personal website to another version utilizing Microsoft technology.
Thanks.
No, you could not "wrap" or use in a practical way Node.JS inside of an ASP.NET web site. While you could theoretically start new processes from ASP.NET that run Node.JS code, it would be an unnecessarily complex setup (as you'd need to manage the processes, threads, etc.).
You can certainly use MongoDB and Bootstrap within an ASP.NET application, so some of your work could be shared.
If you will have the ability to configure IIS on your Windows server, you could use nodeiis to host a Node.js alongside a .NET site:
https://github.com/tjanczuk/iisnode
This approach works well. If you take this approach, be sure that any Node modules you include will work on Windows.
Does anyone know what framework microsoft used to develop the metro like web management portal on windows azure. If so. Is it available to developers?
I posed the same question and got a lot of hate for it. The winning answer is the Metro UI Pack. It does a lot of what they do in Azure, but you'd have to implement the rest yourself.
KnockOut Js
Require Js
TypeScript
Less
ASP.NET
D3 Js
Web sockets
Some links for more information
Steve Sanderson - Architecting large Single Page Applications with Knockout.js
Under the hood of the new Azure Portal
From the ground up: Building the Microsoft Azure Preview Portal
Framework used to develop the new windows azure management portal?
Credit Quora
The CSS is probably custom, but the portal uses a few open source libraries for the javascript part:
jquery-1.7.1
jquery-ui
jsObservable
JsRender
JsViews
jquery.event.drag
You can take a look at this codepen: https://codepen.io/utillity/project/editor/ArjgLa
It's basically a cascade of flexboxes.
Microsoft probably did not use this framework, but you might try jq-metro
If you are looking for angular component library for Metro, it is here
I know Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications. GWT is used by many products at Google, including Google Wave and Google AdWords. It's open source, completely free, and used by thousands of developers around the world.
It can be integrated in java based web applications....
Is there any suitable replacement of GWT for asp.net web application?
If so,what is it?
GWT is platform agnostic. It can be easily integrated with any web application, not just Java. You just tell it to inject widgets into elements on the host page - the host page could be static HTML.
The built in RPC mechanism makes it easy to do RPC with a Java on the server side, but you can certainly use JSON or XML to exchange data with your server. It's a little more work, but not impossible. Look up 'overlay types' - these make working with JSON data extremely easy.
Consider SmartGWT. It has a built-in REST connector that is easy to connect to REST services on the .NET platform, which Visual Studio can help you generate.
On the .NET platform, the free open source (LGPL) edition is all you need. If you need commercial license terms, those are available too.
Take a look at Script#, but I'm not sure if it's still in development. "Essentially the Script# compiler is a C# compiler that generates Javascript instead of IL."
http://www.nikhilk.net/Entry.aspx?id=121
If you're just looking to hook up an ASP.net web application with GWT, try
GWT and .NET
Web parts seem to be used extensively in Sharepoint related development, but examples of using them in asp.net webforms applications are few and far between. I'm implementing a domain specific portal framework and like the "widgetlike" functionality in iGoogle or pageflakes and would like to get that kind of feature in my application. The real troubling issue from my perspective is that the drag & drop layout features of web parts do not work in non-IE browsers unless you use the latest ASP.NET AJAX futures library. It seems to me if Microsoft meant this to be a foundation technology, they would have moved these features into the main product by now.
Are web parts a dead-end technology? If so, are there any alternatives?
i think they are (dead), at least for developing the types of UI modern web-browsers are looking for. My recommendation ... ASP.NET MVC and a nice .js library. It's more work out of the gate, but with the proper planning and implementation it will serve you much better in the long run.
I found a really great site about some tips to implementing WebParts-like behaviour:
http://blogs.msdn.com/b/nunos/archive/2010/02/16/quick-tips-about-asp-net-mvc-webpart-framework.aspx
Webparts are a part of the .NET infrastructure and are a foundation technology. There are few interface technologies, to make webparts compatible with their J2EE counterparts.