Pull to refresh
0
0
Send message

AppFactory: приложение-победитель конкурса Delphi for Android

Reading time 5 min
Views 11K
Всем привет, начинаем обзор результатов конкурса «Осенняя мобилизация». Сначала я задумывал обзор в формате «Это может Delphi XE5 for Android», но конкурсанты настолько поразили своей технической фантазией и креативным воплощением, что теперь тематика обзоров — «Это можете вы с Delphi XE5 for Android». Минуточку терпения, вы не будете разочарованы. Сейчас мы увидим «мини-мобильное RAD-средство», сделанное по типу Delphi, на Delphi и с возможностью последующего экспорта в Delphi.

Читать дальше →
Total votes 24: ↑15 and ↓9 +6
Comments 0

Outsourcing плюс backsourcing минус проблемы

Reading time 7 min
Views 3.5K
Я знаю людей из корпоративных разработчиков, которым outsourcing буквально «жизнь поломал». Энергичный хлопок дверью.
– Всем нужен программист, – сказал я, возвращаясь к ботинкам.

Embarcdero (Borland) не использует модель outsourcing-а в «чистом виде», однако схема привлечения внешних ресурсов вполне может считаться полезной для рассмотрения, особенно в свете backsourcing-а. Почему Embarcadero не всё делает сама? Почему базовый продукт нуждается в дополнении со стороны технологических партнёров? Как что-то отдать на сторону, а потом забрать? Нужно ли думать об backsourcing-е как неизбежном завершении outsourcing-а? Можно ли вообще обойтись без этого?

Outsourcing самим звуком вызывает негативную реакцию со стороны «собственных разработчиков», на что есть масса причин. Теперь к этому добавится ещё одно однокоренное слово – backsourcing. Чтобы это не стало «второй возможностью хлопнуть дверью», разберёмся в деталях. Хорошая команда, выполняющая работу на заказ похожа на спецназ. Каждый боец обладает несколькими компетенциями. Но куда ж без «танка»? Мягкие и изнеженные корпоративные разработчики не могут ничего противопоставить закалённому в баттлах сейлу. Такой «очаровашка» очень быстро вотрёт вашему CIO, что именно его команда сделает все гораздо лучше.

Читать дальше →
Total votes 19: ↑6 and ↓13 -7
Comments 2

Test-Driven Development — телега или лошадь?

Reading time 10 min
Views 82K
Test Driven Development (TDD) – неоспоримо выдающаяся техника, дающая ряд преимуществ. Прикладные разработчики, причём вне зависимости от масштаба проекта и количества вовлеченных специалистов, в широкой массе не следуют TDD. Но есть и ярые сторонники такого подхода, причём они готовы апеллировать не только к здравому смыслу или производственной необходимости, но и на безоговорочно успешные примеры его внедрения. Одним из таких апологетов является Александр Люлин, который не только рассказывает о степени позитивного влияния TDD на разработку, но и делится экспертизой внедрения и неукоснительного каждодневного применения этой техники вплоть до исходных кодов и примеров сценариев (в своем блоге). Однако главный тормоз на пути следования принципам TDD стоит, что предсказуемо, набор чисто психологических установок. В режиме «жёсткого разговора» мы пообщаемся с Александром на тему необходимости Test Driven Development.

Test Driven Development – попытка следования моде? Слепое копирование чужих подходов?

Давайте «сразу определимся». Я не использую TDD в его классическом понимании. И не надо здесь цитировать «википедию»! Вообще, вряд ли кто-то из профессионалов рассматривает энциклопедические статьи в качестве руководства к действию. Мы свой подход «выстрадали» в рамках реализации успешного проекта, поэтому за нами реальный опыт, а не «тупое использование чужих идей». Скорее, мы используем синтез из TDD и собственных представлений о том, как нужно разрабатывать ПО. Даже если эти «внешние идеи» исходят от очень умных людей, их следует критически осмыслить и адаптировать к реальной компании, существующей команды и стратегии развития и обеспечения качества. Но я далее буду говорить «TDD», имея ввиду тот процесс “разработки через тестирования», который близко соотносится с энциклопедическим Test Driven Development, но идёт гораздо дальше него.

TDD — это попытка поставить всё с ног на голову. В классике инженерного дела сначала создаётся установка/техническая система/машина/агрегат. Конечно, методика испытаний имеется в виду при проектировании… но всё-так, программисты – это какой-то особый вид инженеров? Генетически ущербных? Сами себя таким не считаете?


Читать дальше →
Total votes 14: ↑9 and ↓5 +4
Comments 34

Почему в Delphi делают плохие интерфейсы?

Reading time 5 min
Views 40K
Часто приходится слышать – «Delphi – среда для разработки «кривых» интерфейсов». Либо Delphi-разработчики какие-то генетически ущербные в плане создания интерфейсов. Либо сама среда провоцирует на плохой дизайн GUI. Есть повод сконцентрировать на данной проблематике своё внимание.

В начале «эпохи прикладного бума» за счёт использования средств визуальной разработки доминировала Delphi. Конечно, были и другие средства разработки приложений с оконным интерфейсом (Visual Basic, Visual Studio и т.д.), но, вспоминая ситуацию в России периода Delphi 1…3, можно достаточно обоснованно говорить широчайшем распространении этой среды. Продукт «выстрелил», прежде всего, из-за гигантского дефицита программного обеспечения. Но и языковая простота Delphi сыграла ключевую роль – очень много было инженеров, но мало программистов. Зато в Delphi люди после институтского курса за месяц могли если не стать программистами, то хотя бы разработчиками. В смысле, могли самостоятельно создавать программные продукты.

Читать дальше →
Total votes 132: ↑81 and ↓51 +30
Comments 25

RAD Studio XE5 для эффективного обучения программированию

Reading time 10 min
Views 32K
Как евангелист Embarcadero я общаюсь с программистами достаточно интенсивно и на пределе физических возможностей. Траффик приблизительно 1000 человек в год. На семинарах ко мне подходят преподаватели, которые используют Delphi и C++Builder в обучении. После знакомства с возможностями RAD Studio XE5 они спрашивают: «Можно ли увидеть список весомых аргументов в пользу Delphi и C++Builder именно для образования?». Вопрос понятен. Люди годами используют эти продукты для обучения программированию, наблюдая, как их воспитанники с нуля достигают хорошего уровня с точки зрения самостоятельной разработки. Но «борьба» между технологиями ведётся и в области образования, а новомодные увлечения и броские продукты с необоснованно раздутым имиджем негативно воздействуют на людей, далёких от учебного процесса, но влияющих на принятие решений. Из уважения к преподавателям, часто за небольшие деньги растящих молодое IT-поколение, привожу такие доводы, подкреплённые личным более чем 15-ти летним опытом (школьники, студенты, аспиранты, преподаватели).

В условиях всё усиливающейся роли обучения программированию на всех этапах – от школьной скамьи до вуза – очень важно выбрать эффективную программную среду. Рассмотрим в этом качестве интегрированную среду разработки IDE и языковой базис на примере RAD Studio XE5, которая состоит из Delphi XE5, C++Builder и HTML5 Builder. Соответственно, языковые средства данного пакетного решения – это Delphi/Pascal, C/C++ и ряд популярных языков и технологий для Web-разработки. Такое сочетание весьма эффективно, если целью обучения программирования является формирование универсальных знаний и навыков, необходимых для создания современного программного обеспечения (ПО), в максимально широком диапазоне учащихся.

Среда и язык программирования для выработки первичных навыков на основе элементарных знаний должны обеспечивать минимально возможный порог вхождения. Здесь речь идёт не только о школьном образовании. Студенты вузов любой специальности обязаны иметь представление о том, как разрабатывается современное ПО. С одной стороны, это важно для подготовки как минимум грамотных пользователей уже созданных систем. С другой – практически любая сфера человеческой деятельности, включая гуманитарные области, при углубленном изучении требует разработки и использование сложного прикладного ПО. Юриспруденция, лингвистика, социология, политические науки и т.д. в современном виде подразумевают умение специалиста за функционалом применяемых систем видеть и понимать алгоритмы, реализованные в программном виде.

Знакомство с языками программирования должно происходить в школе. Но в силу различных причин очень многие студенты начинают обучение в вузах, имея весьма отдалённое представление о программирование, по крайней мере, создавать приложения самостоятельно они не умеют. Не нужно, говоря о массовом IT-образовании в плане изучения программирования, исходить из предположений о наличии каких-либо знаний. Именно поэтому требуется выработать единый подход к обучению программированию и в школе, и в среднеспециальном, и в высшем учебном заведении. Ещё раз отметим, что целью является поднятие всеобщего уровня знаний в области программирования и навыков создания приложений среди всех учащихся в национальных масштабах. Авторские методики и целевые программы развития наиболее одарённых учащихся неприменимы в отношении общего уровня. Используемые языки и программные среды при таком обучении не рассматриваться при формировании образовательных стандартов в школах, среднеспециальных и высших учебных заведениях по направлениям, непосредственно не связанным с разработкой ПО.

Читать дальше →
Total votes 30: ↑8 and ↓22 -14
Comments 28

Зачем UML

Reading time 23 min
Views 23K
Всеволод Леонов – менеджер по продуктам, «Embarcadero».
Александр Люлин – ведущий разработчик, «Гарант»
Максим Крылов – руководитель проекта, «Гарант»

Внимание, информация в следующем абзаце абсолютно не рекламного характера. Никто из авторов не будет обсуждать и даже упоминать какие-либо программные продукты в контексте их свойств, функций, конкурентных преимуществ, эмоционального восприятия, появляющегося в голове от многократного произнесения названий т.д. Ниже будет представлено упоминание продукта и компании для определения квалификации приглашенных экспертов. Проще говоря, кому интересно читать мнение об UML некого «васи пупкина», который разработал программу «бест-ххх-даулоадер-иксплойт»?

Компания «Гарант» известна многим российским IT-специалистам благодаря своему ключевому продукту – системе ИПО ГАРАНТ. Большая часть сотрудников компании заняты производством ПО, а сама система имеет 23-летнюю историю развития и насчитывает десятки миллионов строк кода, написанных на различных языках программирования. При таком масштабе, языковой и технологической неоднородностях, высоких темпах производства, очень жёстких требованиях к стабильности только применение самых передовых технологий может обеспечить качество эволюционирующей системы. UML как средство моделирования, бесспорно, является одним из таких «продвинутых» подходов, применение которого в компании «Гарант» отличается высоким уровнем автоматизации со значительной долей усиления его системной роли. Сегодня своим опытом делятся ведущий разработчик системы ГАРАНТ Александр Люлин и руководитель проекта Максим Крылов.

Доказательство отсутствия рекламы — давайте разберём, что написано выше. Мы только что определили:
  • название компании, сотрудниками которой являются эксперты;
  • сайт компании;
  • профиль компании;
  • какой продукт производит компания;
  • технические параметры продукта (количественные и качественные), позволяющий оценить масштаб разработки;
  • степень «проникновения» UML в процесс производства ПО.


Сайт компании приведён опять же не из рекламных соображений. Так делает даже wikipedia, которая является эталоном «безрекламности». Указанный выше абзац служит для придания публикации а) полноты; б) ответственности перед читателями.

Если вы (в широком смысле — люди, компании, специалисты, эксперты) не согласны с авторами, рады будем увидеть ссылки на ваши публикации по сабжу. Если нужно в этом помочь — обращайтесь vsevolod.leonov@embarcadero.com.


Всеволод: Расскажите, был ли изначально использование UML принято в качестве одной из составляющей процесса разработки?

Максим: Нет, конечно, когда мы пришли в «Гарант», его еще попросту не было. Но, кажется, уже в 97-м году наш молодой и талантливый коллега (хотя в ту пору мы все были молоды) принёс дискету с одним из первых инструментов UML-моделирования. Примерно с этого момента можно считать, что внедрение UML в стенах «Гаранта» началось. Однако, до его использования в основных наших проектах, так сказать в промышленных масштабах, прошли еще годы.

Александр: Более того, использование UML внедрялось долго и в несколько этапов. По мере роста наших разработок и понимания, что без этого инструмента есть риск не справиться с всё усложняющейся структурой кода и внутренней архитектурой проектов.

Всеволод: Не было ли «идеологических разногласий»? Есть разные стили кодирования, не получалось ли так, что «у каждого свой UML»? Или UML «причёсывает всех под одну гребёнку»?

Александр: Конечно, были разногласия. И как раз в идеологической основе внедрения и было стремление все «причесать» и унифицировать имеющиеся подходы.

Максим: К тому моменту, когда использование UML из экспериментов одного-двух энтузиастов перешло в стадию проектного внедрения, у нас уже было довольно четкое понимание что это и зачем и как сделать так, чтобы не было «разных UML-ей».

Всеволод: В какой момент было принято решение посмотреть в сторону UML?

Александр: Когда появилось осознание того, что проекты сложные. Что в них задействовано много людей. Что надо как-то «договариваться». И что надо как-то «видеть» общую архитектуру проектов.

Максим: Долгое время его использование ограничивалось личными набросками для потребления узкой группой «посвященных». В какой-то момент пытались начать генерировать из него CORBA IDL. В итоге, пришли к выводу, что это почти невозможно и написали свой простенький генератор. Собственно, это и было точкой невозврата. После этого UML стал применяться в большинстве проектов, и что главное, переродился в нечто существенно большее, чем просто набор картинок, мы об этом потом чуть подробнее расскажем. Но в начале, да — просто как возможность быстрее и эффективнее договориться.

Читать дальше →
Total votes 16: ↑5 and ↓11 -6
Comments 50

Windows 8 Summit глазами программиста Delphi

Reading time 1 min
Views 5.5K
Я посетил Windows 8 Summit 23 октября в Москве.
Предварительное текстовое описание Windows 8 с позиции прикладного разработчика содержал объективный анализ. Здесь, конечно, будет представлен взгляд через призму пропагандистской активности сотрудников Microsoft.

Total votes 37: ↑7 and ↓30 -23
Comments 29

Metropolis или Windows 8 глазами программистов Delphi

Reading time 7 min
Views 14K

Что есть истина?


Истина – первая страница выдачи поисковика по запросу. Компания может изо всех своих маркетинговых сил тужиться и пыжиться, пытаясь «продать» технологию широким массам трудящихся, но первые 10 ссылок (+ Википедия) есть механизм взвешивания конкретного решения. Но пока о решениях говорить рано, им должны предшествовать впечатления. Вооружившись подобранными с пола линками, поговорим о «дизайне интерфейса Windows 8».

Эй, а почему так однобоко? Почему только интерфейс? Прикладная разработка, прежде всего, основывается на программировании в компонентах. Большим заблуждением является мнение, что мы используем язык программирования. Конечно же, нет. Мы применяем компонентный язык ручной генерации требуемого функционала с различной степенью вариативности относительно предопределенных шаблонов построения системы. Наши пользователи привыкли рассуждать в терминах интерфейсной функциональности типа «Петрович, дорогой, добавь мне кнопку, при нажатии на которую должно появляться окошко, в котором я увижу договора, контрагенты которых потеряли совесть…».

Корпорация Microsoft долгое (очень долгое) время баловала разработчиков тщательно культивируемой стабильностью интерфейса (похоже, дизайнерам отрубали руки). Но с массовым появлением планшетов культяшки пришли в движение, а миру (почти) явилась новая Windows. Эстетически дремлющие толпы Delphi -разработчиков встрепенулись с различной долей интенсивности. Что это за новая ОС, куда девали кнопку «Пуск», можно ли использовать Delphi для разработки под Windows 8? Казалось бы, что вопросы чисто риторические, но они требуют некого пояснения.

Читать дальше →
Total votes 58: ↑19 and ↓39 -20
Comments 33

Экосистема Delphi

Reading time 3 min
Views 4.6K

Декомпозиция


Чтобы правильно проанализировать текущее состояние практически любой IT-технологии нужно представлять её экосистему. Функциональное наполнение релиза, нефункциональные показатели качества — все они не имеют некой «абстрактной» ценности, а представляют собой результат обмена веществ в этой экосистеме.

Грубыми мазками картина выглядит следующим образом. Можно выделить 4 основных компонента:
  • Embarcadero как производитель
  • Технологические партнёры
  • Сообщество (+IT-эксперты)
  • Основная группа потребителей — прикладные программисты
Читать дальше →
Total votes 36: ↑12 and ↓24 -12
Comments 43

Перед XE3

Reading time 3 min
Views 4.9K

Delphi, угол зрения


В последнее время участились случаи генерации всяких слухов, сливов и оползней, которые, как ни странно, очень приветствуются. Такие феномены обладают внутренней особенностью к распространению в самоподдерживающемся режиме или, кому нравится, переходу в режим автоколебаний. Тенденция к негативной интерпретации информационно-тематических выплесков требует правильной постановки штатива телескопа, т.к. даже антивирусу понятно, что сфокусироваться даже на неподвижном объекте, стоя в гамаке, натянутом между мачтами парусника в открытом море, очень сложно. Тем более что наш объект достаточно подвижен, а его траектория не всегда представляет собой идеальную прямую, что характерно для развития любой IT-технологии. Но сейчас мы поговорим о текущем состоянии продукта под названием Delphi. А для этого нужно посмотреть на происходящее чуть-чуть по-другому (=максимально непредвзято).
Читать дальше →
Total votes 30: ↑11 and ↓19 -8
Comments 22

Information

Rating
Does not participate
Registered
Activity