I have added properties to the web part like listName,background-color etc so the customer could fill in the right properties and get the result he wants. The visual web parts were deployed as sandboxed solutions. However I am not sure about my approach. I have noticed that the cpu consumption is very high and the page load time is relatively slow. I changed some webparts from sandboxed solutions to farm solutions and I am considering if I should use app parts . Is there a right approach for this kind of problems? What is the best and most efficient way to implement such a functionality?