Конкурс проектов 2011 на FireMonkey
В конец прошлого года/начале этого
Embarcadero совместно с DelphiFeeds.ru. Провели конкурс среди проектов, созданных на Delphi XE2 с FireMonkey. Результаты оказались весьма интересными. Сравнивать проекты просто невозможно, т.к. в одних поражает оригинальность идеи, в других - качество воплощения, в третьих - гигантский объем проделанной работы и тонкое понимание особенностей новой платформы.
Судите сами.
Все исходные коды доступны на DelphiFeeds.ru. Естественно, нужно сделать поправку на то, что некоторые проекты представляют собой законченные творения, другие показали хорошо проработанную идею. Естественно, такие проекты тоже засчитывались в качестве вполне эффективных. Срок конкурса был достаточно достаточно сжатым (чуть более 2-х месяцев), а хорошие амбициозные планы требуют большего времени с поправкой на освоение новой платформы. Между готовым, но скромным по функционалу проектом, и находящейся в активной стадии масштабной разработкой мы выбирали однозначно "самый длинный код".
Конечно, не так всё просто. В одном из следующих видео мы обсудим построение системы принятия решений на платформе DataSnap XE2.
Майка
с надписью Embarcadero размера L или M (программист должен быть стройным) будет выслана первому, кто пришлёт на мой адрес название инструмента, снятого в клипе.
Posted by Vsevolod Leonov on February 8th, 2012 under C++Builder XE2, Delphi XE2, FireMonkey |

RSS Feed

February 8th, 2012 at 4:35 am
инструмент - поворотное стусло это для ножовки по металлу (:
зы: видео обзор это прикольная штука то (:
зы2: видео почему-то не разворачивается в фуллскрин, хотя мб мозилла виновата.
February 8th, 2012 at 5:14 am
По дереву. Наличники отпиливал (:
Майку пришлю.
Я там не очень диферамбов пел? (:
Мозилла у меня просто тупо падает на ютубе с последнего обновления. Пересел на осла. Как Жириновский (:
February 8th, 2012 at 6:59 am
а ножовка как будто по металлу была (:
майку можно поменьше размером? (: а то я вообще S-ки ношу ((:
диферамбов норм (: но хотелось бы побольше анализа исходников, ты как специалист, мог бы в таких обзорах указать, где человек избрал правильный путь, а где наоборот подошел к решению не так как надо, или предложить альтернативный подход.
мне понравилось про штуку с Моделью проекта/прототипом, надо будет скачать посмотреть (: а то я еще так и не скачивал к сожалению проекты других участников.
February 8th, 2012 at 7:05 am
А мне было бы интересно, ещё и посмотреть работы, которые не стали победителями. А то даже и не известно, сколько всего было участников.
February 8th, 2012 at 7:48 am
@Terekhov Andrew
М-ка, осталась
Я как раз ношу, материал зачётный.
Идею твою услышал, насчёт анализа собственно кода. Я бы сказал так, цель конкурса была посмотреть, что как народ напилит на FireMonkey. Архитекрутно-структурные исследования с выработкой "шаблонов Delphi-проектирования" - отдельная большая тема. Тут есть 2 подхода.
- набрать 20-ку успешных проектов в масштабах отрасли или просто хороших; и сделать их анализ; типа "коллекция золотых проектов Delphi и C++Builder". Над этим и работаю, но всё дело в этих 20 проектов;
- взять классику (Фаулер, Гамма и пр.) и из них выжимать в сторону Delphi; довольно кисло, т.к. в теории всё это смотрится хорошо, а в практике то же MVC или ORM программисту Delphi просто как "идти за плугом и ещё плясать при этом" (готов проспорить ещё одну майку, но кто автор этой изумительной метафоры?)
Поэтому сейчас исповедую такой подход - берём живых классиков прикладного кода (типа тебя) и держим в голове идеи концептуалистов. Сейчас задача подсобрать этих 20 золотых Delphi-голов. Половина уже есть. + нужен механизм извлечения знаний из экспертов - тоже ОФИГЕНСКАЯ задача (я этим одно время занимался, когда ИИ в инженерию пытался внедрить… но безуспешно). Это я к чему - вербую тебя. (:
>>где человек избрал правильный путь, а где наоборот подошел к решению не так как надо, или предложить альтернативный подход.
Это не для ролика. (: не хочу делать из награждения видео-демотиватор (:
Концентрировался на хорошем, тем более, что времени реально было мало у участников. И в условиях не прописывалось, что будет анализироваться чистота кода:
- Оригинальность идеи;
- Уместность использования FireMonkey;
- Насколько автор разобрался.
@delphinotes (sw)
Это надо согласовывать с авторами. Дело тонкое. Из некоторых победителей и так пришлось "выбивать" ФИО, а то дают ник и мейл ру.
Число проектов, скажем так, было меньше, чем хотелось. Но зато уровень тех, кто прислал, был выше. Мы с Александром Божко думали, что будет 100 поделок, а получилось на порядок меньше, но зато реальными проектами, а не студенческим стёбом а-ля "попробуй нажать убегающую кнопку".
Скоро будет объявлен новый конкурс. Попытаемся сделать его максимально открытым. Даже сам под ником приму участие
February 8th, 2012 at 10:26 am
Приветствую всех)
Выражаю благодарность за конкурс. Несмотря на то, что поучаствовать не удалось (как обычно, стандартная отмазка — времени нет), было познавательно. И полезно. "Морской бой" вызвал ностальгические воспоминания)))
Полагаю, что проведение конкурсов — дело очень благое и благодарное. Как я уже отмечал (http://delphi.frantic.im/10-reasons-to-abandon-delphi/) проведение конкурсов, конференций и иных мероприятий в сообществе разработчиков один из самых оперативно реализуемых способов поднять авторитет среде разработки. Баги фиксить и feedback учитывать тоже нужно, и тем не менее. В целом — правильное решение.
p.s.: Всеволод, а что насчет конференции, таки есть подвижки по поводу (извиняюсь, если что-то пропустил)? Не попала бы на студенческую сессию, мне две группы мучить..)
February 9th, 2012 at 1:00 am
Немного удивила фраза о том, что были размышления насчет награждения автора морского боя потому, что это не бизнес приложение. Надеюсь, что у Embarcadero нет планов как-то ограничивать или "не дорабатывать" 3D функционал. Мне кажется это направление вполне перспективное в плане привлечения новых разработчиков, т.к. есть выход на несколько платформ включая iOS (наверно уже сейчас можно делать вполне сносные казуал-проекты).
ps: Не критично, но в нашей семье принято делать ударение на первый слог и не склонять фамилию. Я так понял с отправкой фотографии я опоздал? Сейчас на работе готовим к выпуску очередной релиз нашего продукта, поэтому как-то упустил этот вопрос.
February 9th, 2012 at 1:33 am
@balmo
>>"Морской бой" вызвал ностальгические воспоминания
Да не то слово! Хотя Delphi XE2 даёт возможность освежиться для iOS разработки в сегменте развлечений.
>>Как я уже отмечал (http://delphi.frantic.im/10-reasons-to-abandon-delphi/)
>>реализуемых способов поднять авторитет среде разработки.
Кстати, не хочешь побыть на пару со мной идеологом конкурса студенческих работ? Заметь - официальное приглашение!
У меня есть своё видение - это не олимпиада по программированию, а именно "проекты". Хотя я и 10 лет проработал в университете, очень хочу видеть коллегу в качестве идеологического соратника.
>>Не попала бы на студенческую сессию
Как раз сразу после сессии. А хвосты пусть ходят к дежурному препу.
Ага. Пока планируем в МГУ провести. Поэтому естественным образом это будет учтено
Есть желание выступить? Формат любой - от доклада до участия в "панельной" дискуссии.
February 9th, 2012 at 1:47 am
@Андрей
>>Немного удивила фраза о том, что были размышления насчет награждения автора морского боя потому, что это не бизнес приложение.
Все победившие проекты великолепны. Но вот Евгений Замыслов, имхо, сыграл фугу Баха на электрогитаре. Лично для меня ценность "морского боя" заключалась в:
- многоцелевом применении понятия "3Д-объект", Евгений дал хороший пример, как по-разному можно их создавать;
- преданности делу разработки софта (на грани фанатизма), выразившейся в гигантском объеме проделанной работы.
>>Надеюсь, что у Embarcadero нет планов как-то ограничивать или "не дорабатывать" 3D функционал.
Чем больше таки проектов, как "морской бой", тем острее Embarcadero будет ощущать потребность со стороны разработчиков в дальнейшем развитии 3Д возможностей FireMonkey.
>>принято делать ударение на первый слог и не склонять фамилию
Надо погуглить. Я исходил из некого правила, что мужские фамилии склоняются, а женские - нет. Если кто-то раньше гугла проинструктирует с квалифицированной ссылкой, буду рад. (может, у кого-нибудь жена - филолог. моя - программист
Ударение ставил по аналогии "пономарь, кобзарь, алтарь", хотя, конечно, есть и альтернативы "слесарь, лекарь, пекарь". Какая этимология твоей фамилии?
>>Я так понял с отправкой фотографии я опоздал?
То ли ещё будет, когда услышишь/увидишь английскую версию ролика
Но! Обещаю исправиться, если ты мне пришлёшь инструкцию (с официальным правилом).
February 9th, 2012 at 2:31 am
про этимологию ничего не знаю, подозреваю (ну или мне так хочется), что корни лежат где-то в "ци с яром". Фамильное древо известно до прадедов, там на этот счет пояснений нет. Официальные правила мне "по боку", т.к. есть семейная традиция.
ps: Fuck Google. Ask me. (c) на майках видел
February 9th, 2012 at 2:34 am
>>Чем больше таки проектов, как "морской бой"..
Не все так просто. Если контора отдаст важные составляющие, например, рендеринг на откуп сторонним производителям компонент, то это негативно может сказаться на развитии этого сегмента. Я к тому, что меньше будет желающих писать.
February 9th, 2012 at 2:42 am
>>на майках видел
А я слышал, что задают вопросы только дебилы, когда гугл и вика под рукой. Вот ты скажешь "традиции", а найдётся кто-то, кто скажет, что "учите русский язык". Буду говорить ['цысарь], склонять не буду, буду ссылаться на тебя
>>есть семейная традиция.
Я - за.
предлагаешь дружить семьями?
>>Если контора отдаст важные составляющие
Контора очень внимательно следит за потребностями рынка. Поэтому "конкурс" - это не только "развлекуха" (спасибо, balmo), но и элемент активного взаимодействия с потребителями.
Как-то не хочется быть российским представительством компании Майкрософт, которая устами "эксперта по стратегическим направлениям" блеет на тему SilverLight 3D типа "ну типа это круто и может быть широко использоваться… например, в нефтяной промышленности" (ну типа нефть-то здесь сбоку, лишь бы деньги водились).
Работаем, не расслабляемся
P.S. А вот я очень близко стоял от перфорации скважин
February 9th, 2012 at 3:14 am
>Поэтому "конкурс" - это … элемент активного взаимодействия с потребителями
Собственно, это Я и имел в виду.
Конференция студенческих работ — это хорошая, годная идея. При условии грамотного планирования. С удовольствием присоединюсь. Напиши на почту, на сайте должен быть адрес в данных авторизации.
February 9th, 2012 at 4:44 am
"живой классик" ((: с тремя то неполными годами программирования в делфи (:
February 9th, 2012 at 5:09 am
@Terekhov Andrew
А всего сколько лет программирования? За 2+ года практики народ не парится насчет качественного оформления исходных кодов.
February 9th, 2012 at 5:32 am
а хз (: лет 5 наверное. до этого на пхп программил. а до этого вобще с трудом понимал что такое ООП ((: проучившись к тому времени 3 года по специальности прикладная математика и информатика (:
February 9th, 2012 at 10:39 am
@Terekhov Andrew
(ща, сяду на коня, 10 лет учил людей, из которых 3 года очень интерсивно именно Delphi, C++Builder и MS SQL Server).
(учил людей разных, от 10 до 60, преимущественно 20-40).
1. Классиком можно быть в любом возрасте и с любым опытом. Моцарт в 5 лет написал музыку, которую абсолютное большинство людей с консерваторским образованием не сочинят даже близко. Пушкин туда же. Чувство стиля кода, применение ООП - ну это тоже талант. Может, ты (блин) восходящая звезда? Да, кстати, покопаюсь в твоих кодах. Как было говорено, конкурс был на "уместность применения ФМ". Что тут сказать, сделал хорошо. Да и вообще в IT всё молодеет стремительно.
2. Андрей прав, "новичка" выдаёт тщательность. Профи обычно соотносят цену/качество или ресурс/отдачу.
3. >>а до этого вобще с трудом понимал что такое ООП
ну в таланте тебе не откажешь, значит плохо объясняли. Я вообще не знаю людей, которые про это могут рассказать доступно. В карате вообще всё просто. Если ты за год не можешь наработать на "чёрный пояс", значит тебе тут делать нечего. А ты уже 5 лет активно кодишь
February 10th, 2012 at 12:09 am
все все, слезай с коня
хватит
ИТ не молодеет, люди в принципе все так же начинают работать в возрасте 19-21 года находясь на 2-4 курсах вуза. так что имхо возраст постоянный. хотя, наверное, раньше (лет 10 назад)он был выше, в силу того, что возможно выпуск специалистов по ИКТ был не такой большой, и люди приходили из других отраслей, отчасти самоучки. имхо.
а что касается доступного преподавания, то здесь имхо, ошибка нашей образовательной программы (нашего вуза) в том, что не с того начинают людей учить. Пришел на первый курс без знаний программирования корме знакомства с Basic - а тебе на сразу ассемблер. А потом сверху С вместо того чтобы начать с паскаля (или параллельно они были). А потом С++ с ООП, где на лекциях по моему была голая теория. А ООП лучше всего познается на примерах, и нормальных объяснениях, рассмотрении предметов реального мира. А у нас кажется была сухая теория типа "вот конструктор вот деструктор" и т.д. Хотя мб это у меня не было энтузиазма и я не понимал ничего (: чему конкретно учили я уже не помню (:
Или там по курсу защиты информации, - пишите программы в делфи, а то что курсов по самому делфи не было - мало кого волновало.
Хотя конечно Прикладная математика и информатика нацелена больше на подготовку людей которые решают именно прикладные задачи - т.е в том числе знание алгоритмов и т.п, и не очень нацелена на знание технологий программирования. Мб для изучения технологий лучше было выбрать Информационные технологии.
February 10th, 2012 at 5:06 am
Ну, раз уж такие пироги…
Terekhov Andrew очень точно подметил состояние современного IT образования. Упадок к сожалению. Программы обучения разрозненные, согласованности в порядке преподавания курсов нет (причем даже среди преподавателей одной кафедры).
Бывает и так, что даже учат непонятно чему (был свидетелем — после ознакомления с учебным планом один преподаватель сказал "это вообще о чём читать-то?? Я в криптографии не силен…"; курс назывался "Теория кодирования". И преподаватель-то не плохой, но это не его профиль. Ну т.е. совсем. Настолько, что разница между кодирование и шифрованием непонятна. Издержки административных методов, увы). Потому Я в свое время ушел преподавать классические мат.дисциплины как-то получше там с этим.
Это Я всё к чему? Вот если у Всеволода цель — сделать некий сборник эффективных практик, то Я вообще мечтаю создать свой IT ВУЗ. С планомерной подготовкой, хорошим математическим фундаментом и с _обязательной_ практикой в современных реалиях. А дальше уже - специализации: Проектирование взаимодействия, Системное программирование, Архитектура, Обеспечение качества ПО, Управление и менеджмент в IT… Мечты) Извините за оффтоп, не смог сдержаться.
February 10th, 2012 at 5:46 am
@Terekhov Andrew
хватит 
>>все все, слезай с коня
Блин, звезда малолетняя, заканчивай хамить! (rofl)
На вот тебе, обрано:
"А классно я тебе смайлики обратно выгнул?"
(оказалось, ненадолго)
@balmo, Andrew
Вообще, препы, которые "читают", сами не пишут. Раньше было. Сейчас тот, кто может писать, пишет 40 часов в неделю и не видет унылые рожи бездельников-студентов.
Вы спросите, а как же коммерческие вузы? Та еще хуже. Диплом в рассрочку.
>>Вот если у Всеволода цель
мужики, давайте уж "Сева", мне как-то стыдно за лишние кнопки на клавиатуре.
>>Извините за оффтоп, не смог сдержаться.
Больше похоже на политическую программу. Если бы "сколково" было бы таким, это действительно стало бы идеей национального возрождения. Или возрождением нацильнальной идеи.
Но если совсем без стёба, то подобные образовательные нац-проекты не могут быть чисто образовательными. Должна быть индустрия национального ПО. Как раньше - любое технилище - институт-промышленность-институт. Я эту систему изнутри знаю. Преподы, которые не вели нир, получали по шее. Нельзя быть "чтецом". А иначе вспоминаю свой курс "АСУ", где нам рассказывали о зарубежных системах. Естств, без участия в таких проектах кроме "квадратиков" на доске чел ничего не мог нарисовать.
Так что, balmo, мечта у нас у всех одна.
February 10th, 2012 at 6:38 am
Сев, всё знаю и понимаю. На то она и мечта, а не цель. Хотя ты, полагаю, имеешь больше опыта работы с системой.
>Вообще, препы, которые "читают", сами не пишут…
Увы, да. В большинстве случаев. Что удивительно — при этом ещё позволяют себе высказываться о том, что, дескать один язык программирования гораздо лучше другого (чем-то напоминает точку зрения "кулхаЦкеров", не находите??).
>тот, кто может писать, пишет 40 часов в неделю и не видет унылые рожи бездельников-студентов
Ну, Я всё-таки думаю, что кое-что немножко могу писать, и надеюсь что не совсем на индийском диалекте)). Часов 20 в неделю наверное, остальное — преподавание, руководство над студентами и адм. вопросы. И Я не один такой. Во всяком случае, лично знаю одного достойного человека из "Маженты", читающего лекции по матану и пару спецкурсов на весьма достойном уровне.
А вот примера практикующего разработчика, читающего скажем ООП не знаю. И полагаю не потому, что нет мастеров как клавиатуры так и мела одновременно, а опять-таки из-за неподготовленности образовательной платформы. Студент приходит неготовым (в хорошем смысле) к курсу лекций.
February 10th, 2012 at 6:41 am
… поэтому и читать таким студентам ООП — сплошное расстройство… Вот и уходят либо как я в классику и мат.основы, либо вообще отказываются от преподавания.
February 10th, 2012 at 8:15 am
>>поэтому и читать таким студентам ООП — сплошное расстройство
Наверно потому, что у студентов нет первоначальных (для ООП) знаний. Мне вот часто говорят: вот ты умный, приходи научишь наших студентов. Я всегда отказываюсь, потому что программирование - это не самостоятельная дисциплина. И если по фундаментальным знаниям глухо, то и имеем среднюю температуру по больнице.
February 10th, 2012 at 8:17 am
>>Студент приходит неготовым (в хорошем смысле) к курсу лекций.
На конференции преподавателей информатики всерьёз поднимался вопрос о том "блин, как детям объяснять ООП"?
>>… поэтому и читать таким студентам ООП — сплошное расстройство…
Подбодрил ты меня. Записать что-ли видео-лекцию по ООП?
February 10th, 2012 at 11:10 am
>> Записать что-ли видео-лекцию по ООП?
Не, я не про это. Раньше (сам эти времена не застал, где-то читал) процесс был примерно следующим: была какая-то задача. Например, рассчитать количество насыпи для БАМ. Какой-то инженер ставил задачу перед математиком, математик давал задание программисту, программист набивал перфокарты, которые кто-то еще вставлял куда надо и результат работы переписывал на бумагу (мониторов еще не было) и отдавал ее программисту, который интерпретировал результат и передавал его математику, который интерпретировал его инженеру, который принимал решение, что делать дальше.
Сейчас все эти должностные обязанности замыкаются на одном человеке, но важность этого не очевидна, студенты в лучшем случае изучают то, что интересно. В итоге, они не могут освоить учебную программу и покидают вуз "недоразвитыми"…
У меня такая же ситуация, но гуманитарную составляющую я подтянул за счет опыта работы, а с математической пока тугова-то, Кнута пока не понимаю.
February 15th, 2012 at 5:04 am
[...] - победа в конкурсе проектов уважаемого мужчины, которого зовут Андрей Цысарь [...]
February 16th, 2012 at 4:44 am
Чисто теоретический интерес: можно ли поднять задачу систем планирования и управления поставками ритэйлеров вроде Wall-Mart http://www.addconf.ru/event.sdf/ru/add_2011/authors/268/269 целиком на Delphi? Ну или основную часть и прикладным REST/SOAP-интерфейсом? Например, в слайде 8 нужен инструмент анализа "максимально подробных, агрегированных и удобно визуализированных данных" - подойдет ли FM для визуализации. Слайд 9 "масштабирование данных" - справится ли Datasnap? Наблюдение за работой этого монстра и визуализация - тоже Datasnap/FM?
February 20th, 2012 at 1:40 am
С DataSnap не работал, но думаю тут бОльшее значение имеет архитектура решения, тюнинг СУБД, характеристики железа и скорость канала (визуализация в FMX будет происходит на клиенте). По хорошему архитектура должна позволять в случае чего заменить DataSnap на что-то другое.
Не думаю, что подобные решения реализуются на одной платформе в силу потенциальной возможности использования различных примеров. Архитектура должна упрощать создание клиентов. Пример хорошей архитектуры: пока еще нет генератора отчета для FMX. В поисках решения проблемы я наткнулся на кроссплатформенный генератор отчетов JesperReports (open source) в сообществе Java. Это самостоятельный проект, поэтому для подключения в общую архитектуру не требуется серьезных трудозатрат, за исключением создания (конвертирования) отчетов. Получается, что сам сервер отчетов можно запускать на разных платформах и клиентские приложения для работы с БД можно писать на разных ЯП и на разных платформах независимо друг от друга.
February 20th, 2012 at 1:41 am
"использования различных примеров" читать как "использования различных клиентов"