Q:

Using FeatureLayer or ArcGISDynamicMapServiceLayer

I am in the process of updating a web map that was using the ArcGISDynamicMapServiceLayer object for my layers.  At the time, it was the best choice since we were on 9.3 and there was limited support out of the box for the FeatureLayer object.  Now, we're on a 10.3+ server, which has better support for things like symbology.
I could not find good metrics or suggestions on which of the two layers provide better performance and overall usability for applications.  I will have scale dependencies so I don't need to worry about 1000s of point features showing when zoomed out, and I think each extent won't hit the FeatureLayer feature limit when the layer is visible.
Performance and experience wise, is it better to have the server render the images for the layers and rely on QueryTasks to work with the layer, or is it better to send the coordinates to the client and have the client do the processing?  I haven't noticed much of a difference testing, but I also can't find good recommendations on it either.

A:

my favorite documentation on the subject can be found in the article below:
Feature Layer best practices
https://developers.arcgis.com/javascript/3/jshelp/best_practices_feature_layers.html
i'd paraphrase by saying that if you can design your application so that:
a) individual query requests are optimized 
b) superfluous requests are avoided (which it sounds like you are on track to do) 
then FeatureLayers generally make a great layer choice because they ensure that graphics are immediately available for user interaction directly in the client browser. 

