Pull to refresh
14
0
Алексей Попов @hitmark

User

Send message

Автономная кроссплатформенная монолитная программа на Java

Reading time 21 min
Views 62K
Я люблю desktop-приложения. Признаваться в этом нынче, похоже, стыднее, чем в связях с иностранной разведкой, но это так. Нет, это не значит, что я не люблю интернет-технологии. Более того, некоторые я не только уважаю, а даже более-менее знаю. Но, тем не менее, я скучаю по тем временам, когда программа писалась на одном компьютере, потом компилировалась и запускалась на других, разных компьютерах. Тогда везде (почти) была одна система — Windows с одной и той же API, почти не было проблем совместимости на уровне приложений, никто не материл разработчиков браузеров — все берегли нервы на разработчиков WinAPI, которые умудрялись создавать конфликты даже внутри нее одной. Но это я, конечно, иронизирую, а если серьезно — иногда и сейчас хочется написать просто desktop-приложение, да так, чтобы работало оно на всех популярных системах. Трудно? Если подумать и покопать, то не очень.

Еще я люблю языки высокого уровня с аккуратной архитектурой и строгой типизацией. Мои фавориты — Java и C#. Оба они предоставляют разработчику множество преимуществ по сравнению с C++, оба избавляют от ряда забот. Чем приходится платить? Тем, что таскаешь за собой тяжелую колоду, которая называется Oracle JVM, .NET или mono. Все три колоды весят сотни мегабайт и лицензию имеют такую, что каждый пользователь вынужден качать эту штуку сам, не путая при этом разрядность своего компьютера, а главное — программа на Java не может быть совместима со всеми версиями JVM разом, не так ли? И вот — мы приходим к тому, что просто скинуть программку другу (или миллиону друзей) и не заботиться о том, что она у него не запустится, не выходит. Приходится делать хитрые сетапы, вбивать костыли, и это я еще не упомянул .NET — однажды я видел у друга сразу 3 установленных версии, причем все три были нужны разным приложениям…

Стоп! А давайте напишем программу на Java, но так, чтобы она не требовала установки на машину какой-либо JVM, чтобы одним касанием собиралась под Windows, Linux и OS X и чтобы при этом занимала совсем чуть-чуть; так, чтобы никто даже не понял, что она написана, скажем, не на C. Невозможно? Совсем наоборот! (И нет, я имею в виду не gcj, который лишает Java всех ее прелестей. Рефлексия будет работать и даже сторонние jar вы сможете запускать).

Ну и как это сделать?
Total votes 156: ↑146 and ↓10 +136
Comments 80

«Про ИТ-стартапы и венчурное финансирование», или «Как я за булкой ходил»

Reading time 5 min
Views 26K
Рыбой и морем
Пахнет рыбак.
В булочной только
Не пахнет никак!

(по мотивам детского стихотворения)

От автора: ниже в художественной форме представлены мои собственные впечатления от процесса поиска венчурного финансирования для одного ИТ-стартапа. Все совпадения с реальными именами и компаниями — случайны, все выводы в результате прочтения этого текста — на совести читателя.

Однажды утром я вышел на улицу, чтобы купить к завтраку булку…
Читать дальше →
Total votes 114: ↑96 and ↓18 +78
Comments 85

Русский взгляд на Tech Peaks: как получить возможность запустить свой стартап в Тренто

Reading time 8 min
Views 13K


Если вы интересуетесь новостями мира стартапов, то возможно слышали, что в этом году итальянские власти запустили в альпийском городке Тренто акселератор Tech Peaks, цель которого – выращивать таланты на итальянской земле. Таланты, понятное дело, в области технологических и коммуникационных проектов. Цель итальянцев проста и незамысловата: создать в Тренто что-то вроде собственной силиконовой долины. Для этого они ищут и приглашают людей по всему миру, предлагая им грант на запуск собственных проектов, бесплатное проживание, оплату питания, стипендию «на карманные расходы». Сейчас в программе объявлен восточноевропейский призыв, ждут людей из Восточной Европы, из России и с Балкан. В отличие от обычных бизнес-акселераторов, фокус проекта – на людях, от таланта – к команде, от команды — к стартапу.

Участники Tech Peaks смогут поработать в составе интернациональных команд, получить экспертизу от менторов мирового уровня, оценить свои возможности в предпринимательской среде Европы и, наконец, получить гранты для запуска своих проектов. Для сотни счастливчиков из России и Восточной Европы это будет возможностью совершить настоящий прорыв на новы уровень. Приём заявок ещё идёт, поэтому я задал российскому куратору проекта Дарье Батухтиной (хабраюзер darena) несколько вопросов: можно ли попасть в Tech Peaks, какие подводные камни и кому всё это нужно.
Читать дальше →
Total votes 25: ↑21 and ↓4 +17
Comments 20

Десять вещей, которые я терпеть не могу в ООП

Reading time 8 min
Views 109K
Боже, временами я просто ненавижу объектно-ориентированное программирование.

Наверное, я не один такой. Бессмертные слова Эдсгера Дейкстры гласят:
«Объектно-ориентрованное программирование — это исключительно плохая идея, которую могли придумать только в Калифорнии.”

Обычно я не жалуюсь, но сейчас, думаю, самое время оглянуться назад и посмотреть, что же не так с ООП. В таком духе я и подготовил скромный список десяти вещей, которые я терпеть не могу в ООП.
Огласите весь список, пожалуйста
Total votes 203: ↑118 and ↓85 +33
Comments 253

Отладка Node.js в Visual Studio

Reading time 4 min
Views 25K
Мне нравится Node.js, но совсем недавно я начал использовать её на серьёзных проектах. При этом я продолжил пользоваться моей любимой средой разработки*. И если для простых скриптов достаточно просто редактора, то для серьёзной разработки нужны серьёзные инструменты, в частности, дебаггер. Ничего готового для студии найти не удалось, поэтому я взял и за пару выходных сделал его сам:
image
Читать дальше →
Total votes 106: ↑95 and ↓11 +84
Comments 23

Кроссплатформенная разработка для мобильных с Xamarin

Reading time 11 min
Views 61K

Введение


Совсем недавно компания Xamarin анонсировала выход новой версии своего инструментария для кроссплатформенной разработки мобильных приложений, но вменяемых статей на русском по этой тематике так и нет. На Хабре появился небольшой обзор, не связанный с кодингом, там же была пара попыток рассказать об этом чуть подробнее, но дальше процесса создания Hello World приложения дело не зашло. А жаль. В этот раз мы попробуем исправить это досадное недоразумение.
Читать дальше →
Total votes 46: ↑38 and ↓8 +30
Comments 29

Про абстрагирование, слабосвязную архитектуру и проектирование в целом

Reading time 4 min
Views 35K
К хорошим постам «Код в стиле «дамп потока сознания»» и «Микро-рефакторинг, о котором мы так часто забываем».

  • Почему большинство программистов не любят «читать чужой код»?
  • Почему рефакторинг и внесение изменений становятся серьезной проблемой?
  • Почему так часто случается, что легче переписать с нуля?
  • Почему одни программисты называют других хорошими или плохими словами?


Конечно, многие из вас обнаружат, что предлагаемые ниже ответы на эти вопросы весьма знакомы, но возьмите эту статью на заметку, так как кидать линк зачастую все же существенно комфортнее, чем распинаться в объяснениях и доказательствах очевидного.
Читать дальше →
Total votes 69: ↑57 and ↓12 +45
Comments 59

Чему я научился у Джейсона Фрайда (37signals)

Reading time 10 min
Views 26K
Творческая беседа Дэна Шиппера, кофаундера Firefly и Джейсона Фрайда, кофаундера 37signals привела автора статьи к занятным выводам о том, как и кому продавать ПО. Надеемся, и вам, Хабражители, принесет пользу.

Переведено компанией-локализатором Alconost


Читать дальше →
Total votes 46: ↑41 and ↓5 +36
Comments 15

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity