ESP8266 vs Wemos D1

WeMos D1 is an ESP8266 module with power and USB support circuitry and Uno style headers. It's a substitute for an Uno, not something you'd use with an Uno. Think of it as an Uno with WiFi communication that runs at 3.3V instead of 5V and is significantly less beginner friendly.

If you want to use an ESP8266 with an Uno you should either get an ESP8266 module and the necessary components to supply > 500mA@3.3V(the 3.3V pin on a standard Uno will not be sufficient) or get an ESP8266 shield that plugs into the Uno.

NVT123:
Is there any difference in programming part for both of them.

For programming them directly, no, an ESP8266 is an ESP8266. However, if you're wanting to use an ESP8266 with an Uno then you're probably going to send the commands from the Uno to an ESP8266 running the AT firmware over serial using AT commands. This will require different code than if you were uploading your code directly to the ESP8266.