Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Portable Area disadvantages

For people who have experience with Portable Areas,

I would like to know if there are disadvantages to using them and why you wouldn't use them to break a large MVC application down into component parts.

like image 341
Sam Avatar asked Jun 17 '13 04:06

Sam


People also ask

What are the disadvantages of portable apps?

Portable apps: Few disadvantages Some portable applications (e.g. Google Chrome) don't update automatically. So if you want to have the latest and greatest version, you have to download it manually every time. The apps that require some integration with the Operating System can't be run as portable.

What are the disadvantages of portable AC?

Noise levels are quite high; Not energy efficient; Not a good choice for large rooms; Once the air conditioner cooling pipe is brought out the window, it is quite likely that you do not want to move it, so as not to spoil the installation.

What are the advantages of portable devices?

Portable computers use less space than desktop computers and are smaller in size. Compared to a desktop computer, the power consumed is less in case of portable computer and can help in power and cost savings. Compared to desktop computers, immediacy is more pronounced in the case of portable computers.

Is Portable Air Con good?

Are Portable Air Conditioners Good? Portable air conditioners are good for specific cooling needs. If you want a portable AC unit that can move from room to room, then it is a good cooling option. It's also the efficient air conditioner choice that is not permanently installed.


2 Answers

Let's start with the

Definition:

A Portable Area is a dll that contains items that would normally be part of your solution. Portable Areas contain Views, Controllers, Models, even JS Scripts, CSS files and images.

Ideally, the items in your Portable Area work together to create cohesive functionality. If not, you are probably not benefiting from having a Portable Area.

Benefit

I compare Portable Areas to Web-Forms Web Parts because they are both an attempt to answer the question:

How do I create re-usable functionality?

You will benefit from Portable Areas if you want to create functionality to be used in multiple projects, or distributed as functionality to be consumed by 3rd parties.

Disadvantage

Every time you make a change to any View, JS File, CSS File, or image within your Portable Area, you will need to rebuild it. I emphasize these components because they do not normally need to be rebuilt when being tested or developed.

This can become a problem. If you find yourself re-building every time you tweak CSS, 30 second changes become 2 minute changes. Make 30 of those and you've stretched 15 minutes worth of work into 2 hours.

Portable Areas are meant for mature functionality to be re-used in multiple projects or solutions as-is.

  • Portable Areas are not ideal for functionality that is in early development stage.

  • Portable Areas are not ideal for functionality that exists in only 1 solution or project.

like image 106
Dave Alperovich Avatar answered Sep 20 '22 03:09

Dave Alperovich


Many things have already said. I have some experience in working with Portable Areas, and here is my personnal point of view.

  • MvcContrib has not been updated since one year (see nuget). If you take a look at codeplex, you will see that there were not so many updates in source code since the last release. It may be mature, but no support can be problematic.

  • A portable Area is self contained in a single assembly. It's easier to reuse and to upgrade for sure, but the challenge is how do you allow enough control over the User Interface by the client application. Even if it's a reusable feature, you sometimes still want to use master layout or partials.

  • All web ressources (CSS, Js, Views) have to be Embedded Resources (included in dll) . This means that it's really really a pain to dev/debug because each code modification requires a rebuild. In addition, you need to client web site to host the portable area.

  • Portable Areas use a Custom Virtual Path Provider. The Custom Virtual Path Provider code is untested and completely untestable. The use of Virtual Path Providers are discouraged by the ASP.Net team as they can cause performance problems.

  • Portable Areas Vs Nuget Packages. Portable Areas were designed four years ago (before Nuget).Portable Areas solved the ability to easy transport, view and assets(Css, javacript) files into a separate application. Nuget has also solved this problem.

However even with all of these disadvantages, my team is still using it. Why ? because it was the right solution at the right time for us.

like image 43
Cybermaxs Avatar answered Sep 22 '22 03:09

Cybermaxs