В этой статье хочу немного рассказать о своем первом серьезном проекте для Windows Phone 7 под названием Math Rocks!.
Это приложение позволяет решать всевозможные математические задачи и может быть полезным как для обучения, так и для проведения исследований и быстрых рассчетов.
Из главных возможностей приложения хочу отметить:
Те, кто хоть немного следил за моими публикациями (в том числе и на хабре), могли заметить, что о проекте с реализациями математических методах я уже писал. Причем первые публикации были посвящены Windows Forms, WPF и Silverlight версиям программного обеспечения. Не лишнем будет напомнить, что проект лежит в open source уже несколько лет. Поэтому после выхода Windows Phone решение о портировании библиотеки на новую платформу было очевидным.
На сегодняшний день приложение включает в себя такие области и методы:
Естественно, были некоторые сложности при портировании приложения на Windows Phone. Вот некоторые из них:
Отдельное и очень пристальное внимание было уделено дизайну и соответствию Metro UI. Все гайдлайны были перечитаны по несколько раз и после нескольких недель (!) вылизывания можно увидеть нынешний результат.
Почему это так важно? Во-первых, Metro UI — очень удобное и красивое решение как с точки зрения разработчика, так и с точки зрения пользователя. Мне важно, чтобы пользователи не только смогли решить свою задачу, но и получили удовольствие от процесса использования приложения.
Кроме того, своим примером я хотел призвать других разработчиков более тщательно подходить к юзабилити и дизайну (не с точки зрения графики, а с точки зрения удобства) своих приложений. Сейчас мы наблюдаем, что даже именитые компании банально «кладут» на дизайн своих приложений и Metro, в частности, а другие берут с них пример.
Несколько скриншотов:
Приложение было разработано и опубликовано в тесном сотрудничестве с Tarasov-Mobile (интервью с руководителем Дмитрием Тарасовым можно почитать здесь) и фактически стало первым в серии совместных Windows Phone 7 приложений.
От Дмитрия Тарасова, издателя:
Понятно, что приложение Math Rocks! трудно назвать массовым, но благодаря ему были получены уникальные знания в плане дизайна, разработки, тестировании, публикации и мониторинге Windows Phone приложений. Эти знания очень помогут нам в дальнейшем писать качественные и полезные приложения.
Дальше будем развивать приложение. Об идеях развития можно почитать здесь.
Кстати, если вы хотите принять участие в создании «mathcad для мобильника» или у вас есть идеи и пожелания, как приложение можно улучшить, можете писать мне в личку, на alex[at]tarasov-mobile.ru или связаться через codeplex или через wp7rocks.com.
Кроме того, если вы представляете академическую среду или ресурс, то я с удовольствием пообщался бы на тему того, как наши идеи и результаты можно было бы популяризировать среди студентов, преподавателей и исследователей.
И напоследок девиз Math Rocks!:
That’s right, it is almost a rocket science in your pocket :)
Спасибо за внимание!
Это приложение позволяет решать всевозможные математические задачи и может быть полезным как для обучения, так и для проведения исследований и быстрых рассчетов.
Из главных возможностей приложения хочу отметить:
- собственно, возможность решения математических задач;
- отображение графиков;
- возможность сохранять результаты путем отправки условий задачи и результатов на электронный адрес;
- поддержка русского и английского языков.
Идея
Те, кто хоть немного следил за моими публикациями (в том числе и на хабре), могли заметить, что о проекте с реализациями математических методах я уже писал. Причем первые публикации были посвящены Windows Forms, WPF и Silverlight версиям программного обеспечения. Не лишнем будет напомнить, что проект лежит в open source уже несколько лет. Поэтому после выхода Windows Phone решение о портировании библиотеки на новую платформу было очевидным.
Что внутри?
На сегодняшний день приложение включает в себя такие области и методы:
- решение нелинейных уравнений;
- точные методы решения квадратных, кубических, биквадратных уравнений;
- численные методы: метод секущих, Ньютона, простых итераций, Вейстейна;
- решение дифференциальных уравнений;
- метод Рунге-Кутта 4 порядка;
- метод Эйлера;
- модифицированный метод Эйлера;
- исправленный метод Эйлера;
- решение интегралов;
- метод Симпсона;
- метод трапеций;
- методы правых, левых, центральных прямоугольников;
- метод Монте-Карло;
- решение систем линейных уравнений;
- метод Гаусса;
- метод Жордана-Гаусса;
- метод Гауза-Зейделя;
- генерация распределений вероятностей;
- нормальное;
- лог-нормальное;
- экспоненциальное;
- хи-квадрат;
- Коти-Лоренца;
- Вейбулла;
- методы оптимизации;
- метод роя частиц;
Сложности
Естественно, были некоторые сложности при портировании приложения на Windows Phone. Вот некоторые из них:
- Windows Phone 7 SDK содержит не весь API в сравнении с полным фреймворком. В частности, пришлось использовать Silverlight версию библиотеки System.Numerics для работы с комплексными числами;
- приложение использует парсер математических функций, из-за чего было перепробовано большое количество библиотек (вплоть до написания своей). Но в итоге я остановился на NCalc;
- каждый метод, как правило, имеет уникальные свойства, ограничения, тип и вид решения. Было не просто написать общую логику для решения любого класса задач.
Дизайн и Metro
Отдельное и очень пристальное внимание было уделено дизайну и соответствию Metro UI. Все гайдлайны были перечитаны по несколько раз и после нескольких недель (!) вылизывания можно увидеть нынешний результат.
Почему это так важно? Во-первых, Metro UI — очень удобное и красивое решение как с точки зрения разработчика, так и с точки зрения пользователя. Мне важно, чтобы пользователи не только смогли решить свою задачу, но и получили удовольствие от процесса использования приложения.
Кроме того, своим примером я хотел призвать других разработчиков более тщательно подходить к юзабилити и дизайну (не с точки зрения графики, а с точки зрения удобства) своих приложений. Сейчас мы наблюдаем, что даже именитые компании банально «кладут» на дизайн своих приложений и Metro, в частности, а другие берут с них пример.
Несколько скриншотов:
Публикация
Приложение было разработано и опубликовано в тесном сотрудничестве с Tarasov-Mobile (интервью с руководителем Дмитрием Тарасовым можно почитать здесь) и фактически стало первым в серии совместных Windows Phone 7 приложений.
От Дмитрия Тарасова, издателя:
Мы, в Tarasov Mobile в последнее время взяли курс на разработку и публикацию/продвижение приложений, имеющих конкретную смысловую нагрузку и направленных на решение конкретных задач. Math Rocks! вызвал у меня как у издателя интерес тем, что он, как раз таки, является не какой-нибудь фигней, посвященной социальным сетям, играм или прочим тайм-киллинговым вещам, а является инструментом, приносящим конкретную пользу, а не отнимающим у пользователей время.
Данный продукт является прекрасной демонстрацией того, что такой девайс на WP7 как Nokia Lumia, например может быть не только красивой звонилкой, но и серьезным узкоспециализированным прикладным инструментом. Именно поэтому с ним интересно работать.
Понятно, что приложение Math Rocks! трудно назвать массовым, но благодаря ему были получены уникальные знания в плане дизайна, разработки, тестировании, публикации и мониторинге Windows Phone приложений. Эти знания очень помогут нам в дальнейшем писать качественные и полезные приложения.
Что дальше?
Дальше будем развивать приложение. Об идеях развития можно почитать здесь.
Кстати, если вы хотите принять участие в создании «mathcad для мобильника» или у вас есть идеи и пожелания, как приложение можно улучшить, можете писать мне в личку, на alex[at]tarasov-mobile.ru или связаться через codeplex или через wp7rocks.com.
Кроме того, если вы представляете академическую среду или ресурс, то я с удовольствием пообщался бы на тему того, как наши идеи и результаты можно было бы популяризировать среди студентов, преподавателей и исследователей.
И напоследок девиз Math Rocks!:
That’s right, it is almost a rocket science in your pocket :)
Спасибо за внимание!