Upload
evgeny-kaziak
View
534
Download
4
Embed Size (px)
DESCRIPTION
Geo Champs
Citation preview
Geo Champs – сервис о красивых людяхMashpit Project
Как это работает?
Если вы встречаете на улице или в заведении симпатичную девушки или молодого человека – вы фотографируете её или его на телефон и публикуете с указанием вашего местоположения в городе.
Что это дает?
Постепенно формируется карта, на которой отображены области скопления красивых людей.
Появляется возможность присылать уведомление, если рядом красивый человек
Для каждого человека можно построить географический район в котором он проводит время
Веб-интерфейс
Мобильные клиенты
iPhone
WP7
Android через Flex
Symbian через Qt
Web
WP7
Особенности разработки: Новый UI – Metro + Panorama/Pivot XAML based Model-View-ViewModel Ограничения платформы
WP7
Что радует: Silverlight & .Net Libraries Хороший help Отличный интсурментарий Blend/VS Мобильный контролы
WP7
Что разочаровывает: Ограниченный эмулятор Малое количество информации
Camera Proxy
1. public class CameraProxy : ChooserBase<PhotoResult>
2. private ChooserBase<PhotoResult> _camera;
3. if (useEmulation){ _camera = new CameraCaptureTask();}else{ _camera = new CameraProxy("http://192.168.1.136:1688/", this);}
4. _camera.Completed += CameraCompleted;
Reactive Extensions Location Service
1. void StartStatusEmulation(){ var statusEventsToObservable = EmulateStatusEvents().ToObservable(); var statusFromEventArgs = from s in statusEventsToObservable select s.Status;
statusFromEventArgs.Subscribe(InvokeStatusChanged);} 2. yield return new GeoPositionStatusChangedEventArgs(EmulatedStatusValue);
3. void InvokeStatusChanged(GeoPositionStatus status){ Deployment.Current.Dispatcher.BeginInvoke(() => StatusChanged(status));}
Android
Что радует: Новенький Flex Hero SDK(preview) PS -> Catalyst -> FB SWC’s, Components, Controls Eclipse (?) TDD Debugging(Emulators / Devices) Data Binding Community, Help, References Android Guidelines
Android
Что печально: BUGS!!1 (mostly AIR runtime) Slow ComponentsNEVER USE MX Debugging on devices Пока только Android Мало оптимизированных контролов
Кластеризация
До После
Кластеризация
«Тяжелая» кластеризация на стороне сервера, запускаемая по расписанию (QT-clustering)
«Легковесная» кластеризация на стороне клиентов (Canopies)
Мультиплатформенная разработка
Разработка ведется на разных языках Дублирование кода Сложность одновременного развития и
поддержки Единство UI на всех платформах и Native UI
Guidelines
Возможные решения
Native код
MonoDroid, MonoTouch
HTML5 мобильный клиент, PhoneGap
Necessitas (Qt для Android)
Спасибо за внимание