area2D will simply mean you don't have the option to stop on a wall and bounce or slide on it, since movement is video games is basically teleporting an object so slightly between frames it gives it the feel of continues movement(thus you require about 60 fps usually). Using the
PhysicsBody nodes means you can use the built in functions of
set_linear_velocity respectively, those function will calculate the path it will go in a certain frame and ask if there is any collisions occurring during the frame, and making the calculations required to simulate collisions...
if you are planning to free the bullet as soon as it hits a wall and not have any collision what so ever that will indeed bounce the bullet or make it slide somewhere you can safely use
are2D as the bullet's physics object and use
position += Velocity_vector * delta
as the movement for the bullet