Can you explain the pro and con of programming using ESP-IDF or Arduino platform?
“The benefit of ESP-IDF (over Arduino APIs) is that the ESP-IDF is native to the ESP32 (by definition). It is the API (short of register poking) that will give you the highest fidelity against the ESP32 device itself. There are capabilities available in ESP-IDF that aren’t (yet?) present in mapped Arduino APIs. They could quite easily be mapped by a programmer but that then implies one already has an ESP-IDF skill level.” Kolban
I recommend reading the first answer in this thread by kolban:
In summary, the Arduino is easier to program and the code will run in all your other boards with small modifications (Arduino board, ESP8266, STM32, etc). So, you code once and it will run in multiple platforms.
The ESP-IDF is a low level/native way of programming the ESP32 boards.
I hope that helps and let me know if you have more questions!