.NET is well suited for any general purpose solution to a business problem, though if we are talking strictly the framework version - you have to be more or less tied to Microsoft Windows to run it. If this isn't a problem, then it will be able to address and solve any programming project you have.
SharePoint does not provide, out of the box, a tool to create / update workflows from web. You have to use SharePoint Designer in order to create them. If you need to implement custom workflows for specific business processes, then SharePoint Designer is well suited. SharePoint Designer allows you to create workflows with task approval, email notifications, assign variables and update SharePoint Lists / Documents properties. In our company, we have created specific workflows for : - Purchase order - RH forms validation like annual employee review - Dematerialized existing forms and validation
2013 Workflows - Loops: You can build loops to work while a value (not) equals something, or N number of times. You can insert Parallel Blocks to do multiple things at once, or to watch for multiple things, and when 1 thing finishes, cancels the others and moves to the next step or stage.
2013 Workflows - Stages: Previously all we had were steps, which worked sequentially. With the Concept of Stages, we can create blocks of steps and based on the data collected during those functions, we can tell the workflow to go to a different Stage in the workflow based on a set of 1, or multiple, Conditionals in a transition area after each Stage. Giving you the power to develop multiple entire processes and skipping to the correct part of the workflow, rather than going through 20 conditionals to find out you needed to do action 31.
2013 Workflows - REST API: the "Call HTTP Web Service" is a very powerful tool, but hard to understand if you have never seen it done, or have a guideline. It works very similar to the requirements in PowerShell to connect and get and post data to SharePoint using the Rest API. You can also use this to manage permissions on List Items, Lists, Sites, and Site Collections. Best part is when developed correctly, it is SUPER FAST!
Intentionally Building Infinite Loops: I have built multiple review process from Managing Certifications to Updating Published Documentation, that monitors when an Item, based on provided approved metadata, when the "Author" needs to review the document within the given amount of time. They will get e-mails with links asking if changes are needed. If not, it is routed to the Approving Executive, and the Workflow Automatically updates the Metadata to push out the review dates to the next date, based on metadata provided on how how often the document should be reviews. By using conditionals in the transition of stages, it basically starts over, and goes into a parallel block to allow the monitoring of multiple values of metadata to move to the next stage. Very Powerful when you want to automate these types of process. It truly is a "Set It and Forget It" process.
.NET is heavily Microsoft Windows oriented, and while .NET core tried to resolve that with MacOS and Linux support, .NET Core is still waiting for wider adoption.
While free for small projects, additional features for big projects can be a little expensive.
Can be resource-heavy upon deployment. We continuously have our more senior staff optimize the code of our junior developers for performance. Other languages are a little bit more forgiving in comparison.
In the newest version of SharePoint Designer, they have gotten rid of the Design view which makes what used to be quick and easy changes much more code-intensive. This makes it harder for non-IT users and is more risker for all SharePoint Designer users.
SharePoint Designer workflows have a lot of functionality, but there are also some crucial limitations, such as not being able to put lookup fields in email subjects or using parenthesis to separate/group logical conditions.
Although this goes along with the Design view, there really isn't a good user interface anymore for adding conditional formatting and styles in views/pages.
The full .NET Framework is an amazing thing and is very robust. We have used it to create console apps, Windows apps, and online apps. When coupled with Visual Studio, development, testing, building, and deploying our applications has become 100 times easier as compared to doing those things manually before. The automation of this process has helped us push out changes to our applications faster to adapt to the ever-changing business requirements.
You don't often need to reach out to Microsoft for .NET support. If you do, there are forums and websites that have active Microsoft support folks where you can provide feedback or get help. Microsoft support in general is quite good as well, but not cheap. The best support is from the community like StackOverflow.
Support is good from Microsoft. They are quite responsive when we raise a ticket but SP Designer support will be ended by Microsoft in the near future as they have got new techs like PowerApps and Flow to achieve the same functionality SP Designer does and even more than that.
The .NET platform has a much longer and broader history than Laravel, so we chose to go with it as the support will be far superior. Additionally, Laravel is tied to PHP, while you can use multiple different languages in .NET. The additional flexibility that .NET provides in the range of types of applications you can build with it sealed the deal.
I haven't used anything else like this. I use different products for workflows and forms, but they aren't listed in the listings for this page. Instead of using it for workflows or forms (deprecated 2 years ago), I use Nintex. For everything else, I have what I need in the Modern version of SharePoint online
There are few factors we needed for our custom development. Below are each of them. We were able to get a satisfactory outcome for each of these factors which made .NET platform a very good choice in developing enterprise applications.
Reusability of codes- Microsoft has given many re-usable codes and components in the framework to help developers do their job effortlessly. With the help of default features, developers can create end-to-end solutions and make the business operations more efficient. As codes and components are reusable, .NET reduces development time and if applications take less time to develop, they cost cheaper and you get faster return on investment.
Easy to maintain- Development cost is one time, but maintenance cost is incurring. .NET apps are easily maintainable, thanks to the configuration settings that can be modified without any need to rewrite the code.
Deployment is hassle free- Deploying software is always challenging and the most common problem developers face in this process is the existence of multiple DLLs. It’s hard to make sure that all DLLs will co-exist in the same machine. .NET framework solves this problem by allowing different versions of the same DLL to exist side-by-side on the same machine.
Security- .NET is one of the most secure web and application development frameworks available in the market. As it’s made by Microsoft, you can be absolutely sure about the security measurements. Hackers can never steal valuable data from your website or apps.
Cross platform friendly- What if you had developed an app for desktop and laptop computers and now after seeing the growth of mobile apps in the market, you want it in mobile version as well? You can easily develop an app that runs on the desktop and PDA without any issue. As you can re-use the codes and utilize the same development environment, your job becomes a lot simpler.
For my needs, I have not found SharePoint Designer useful for my day to day maintenance of SharePoint. It is useful for viewing all the objects that make up the SharePoint site.
It is not as intuitive in regard to setting up Workflows. I have yet to use it to set up workflows in SharePoint. Maybe if I needed more complex workflows, it would be beneficial.
I like to use SharePoint Designer for moving around files within SharePoint sites.