I have used esp32 in my projects and its easy to use. But I want to try using CC3235SF. But how does it work exactly? It has on-board RAM and 1MB Flash, so does it mean I can program it directly like I can do with ESP32 or do I have to use it with some other host MCU? Also there are many development boards in the market for ESP32 but none for CC3235SF. I also want to know whats different between the development boards and whatever people use in their commercial products?
To answer the title of your question, the differences are quite numerous. At the very least, for a very very quick look at the specs:
- The ESP32 is single-band 2.4 GHz Wi-Fi, the CC3235SF is dual-band 2.4/5 GHz Wi-Fi
- The ESP32 has Bluetooth, the CC3235SF doesn't appear to include it
- The ESP32 is Extensa-based, the CC3235SF is ARM-based
But there are probably more differences than similarities, other than the fact they're both MCUs with Wi-Fi.
Since the CC3235SF is an MCU, yes, you can program it directly, though the tools to do that may be quite different.
There is a development board for the CC3235SF: http://www.ti.com/tool/LAUNCHXL-CC3235SF
A development board is targeted for development, so it may have more stuff than you actually need in a final product, as well as be missing parts you need and you add externally during development. Also, a development board is not necessarily certified (FCC, CE, etc.).
When building a commercial product, you'll usually have specifically the components you need on your PCB, removing any unnecessary stuff and incorporating any external components, and you'll have the whole finished product undergo testing and certification. Of course, on very small quantities, you may sometimes use "development boards" directly.