Two BJT transistor vs driver for PWM MOSFET
Both will work. The objective is to drive the gate hard to switch the transistor quickly between it's on state and off state. This means it spends very little time in the 'half on' linear region where it will be dissipating power.
The output stage of an integrated driver will look very like the discrete solution that you showed, however they will include extra functionality like over current protection, enable or inverting/non-inverting option. A Schmitt trigger input may also be included for noise protection.