Спустя какое-то время, на примере разработки системы для такси, усвоил некоторые принципы. Хотя в теории я и так их знал. Но почему-то в тот момент мне приходили не те мысли.
Итак:
- Сервер должен быть независим. Соединение должно быть строго по сетевым протоколам (-);
- Протокол должен быть унифицированным и на стандартных технологиях (XML/JSON) (-);
- Клиент и сервер должны уметь правильно реагировать на некорректные команды и данные (+);
- Клиент должен отправлять информацию о нештатных ситуациях (+);
- Логи клиента и сервера должны быть очень подробными (-);
- Нужны юнит-тесты для проверки, не слетело ли чего-нибудь после изменений (-);
- При совместной разработке должен быть общий документ взаимодействия клиентов и сервера (-);
- Да и вообще разрабатывать все без наблюдения со стороны чревато уходом не в ту сторону (-);
Все это почувствовалось в той или иной мере в момент сбрасывания части нагрузки с себя на другого разработчика. Я, например, не понимал, как можно писать клиента, который при любой неверной команде от сервера переподключается. Плюсами помечено то, что было сделано хорошо, а минусами — что не было применено.
Я понял, что C# как среда разработки хороша, но даже на нем под WinCE разработка — это большой и неоправданный труд. В скором времени буду пробовать писать под Android, но уже в другой области.
Был на конференции Яндекса Yac-2011 для разработчиков. Почерпнул знаний и главное состояния. Яндекс рассказал, что сталкивается с теми же проблемами, что и все остальные разработчики. Жалко, что часть полезных проектов Яндекса закрыты. Было интересно слушать некоторые доклады, в которых описываются простые истины. Но разработчики рассказывали о них с гордостью. Примерно как я в списке выше )
Нашел интересный способ раскрутки и возможной монетизации сайта расписаний. Отпишусь о результатах как сделаю. И, нужно думать над еще одним проектом, но там нужно много ресурсов на запуск и раскрутку. Пока он только в голове, но идея мне кажется достаточно перспективной и уникальной. Он изначально коммерческий и там нужно достаточно много маркетинга. О нем тоже отпишусь как появится что-то осязаемое. Главное, чтобы кто-то не сделал раньше )