сперва надо определиться, а в каких условиях будет работать приложение: в офисе с вайфаем или в тмутаракании без связи. Во втором случае некуда деваться, нужно распознавать на устройстве и потом синхронизироваться с сервером. Естественно это крайние случаи, надо смотреть на реальные use case вашего приложения.
У
Abbyy прекраснейшие фреймворки для таких дел.