An applicative functor is a monoidal functor. What is a monoidal functor?
A monoidal functor is a functor between two monoidal categories that is roughly a monoid homomorphism (f (x <> y) = f x <> f y, f mempty = mempty) wrt their respective monoids.
But what are monoidal categories? They're categories equipped respectively with a "product" bifunctor and an "identity" object (subject to laws that are the rough translation of the monoid laws, which i will handwave).
Take Hask (types as objects, functions as morphisms) for example. Hask can be interpreted as a monoidal category if you take the bifunctor (,) as the product and () as the unit. This is more or less the "free monoid" of our monoidal category, because we're just taking the empty list of types as empty and concatenation of two types as append.
Now think of some applicative functor you know (e.g. Maybe). TBasically what it means for this functor to be monoidal is for the result of Maybe Hask to also be a monoidal category (in this case we want it to be a monoidal category under the same choice of <> = (,) and mempty = ()), and for the structure to be "preserved" in translation, i.e: f mempty = mempty and f (x <> y) = f x <> f y.
It is important to remember that functors in Hask transform not just types but also value level functions, so we must validate that the "structure preservingness" holds at both levels. This will require a bit of elaboration of what exactly the laws f mempty = mempty and f (x <> y) = f x <> f y mean for mempty, <>, x, y in a monoidal category (again remembering that <> is a bifunctor, which involves both type level and value level transformations).
Diagrams ensue...