Interface with Raspberry Pi

There is no best way, the best way depends on the problem to be solved. Sometimes a connection over the UART is best, sometimes it's I2C or maybe SPI, in some cases connecting a few GPIOs is much better.