Smart client is approach to utilize benefits of rich clients (desktop applications) and thin client (web applications). We prefer Smart Clients when:
- Need rich application interface (windows forms)
- Need application work when offline
- Want to take advantage of local hardware resources (barcode reader, scanner etc)
- Can interact with other applications
But important factor that also include in above factors is “Audience”. Thin Client can be useful where audience is general or developed for public services where Smart Clients are more efficient for specific or predefined users like employee of a company etc.