Розробка архітектури нового додатка для пасажирів Über

— Здрастуйте. Скажіть, скільки коштує зробити додаток типу Über?

Менеджер по вхідним заявками нашої компанії отримує дзвінки з таким змістом стабільно раз в тиждень. Розуміти його варто, як правило, так: або клієнт хоче собі настільки ж успішний аналог програми для зв'язку між пасажиром і водієм, або Über для ______ (вписати потрібну галузь).

У такі моменти ми відповідаємо, що Uber — це технічно дуже складний проект з мільйонними інвестиціями і сотнями тисяч людиногодин розробки в місяць, і що робити його клон не дуже доцільно.

Тепер у нас є аргумент у захист нашої позиції. Розробники Über опублікували в блозі компанії замітку про досвід перенесення програми з однієї архітектури на нову, власну. Це дуже масштабний захід підтверджує, що Uber — далеко не елементарне додаток. Ми не могли пройти повз цього матеріалу і не перевести його.

Стаття може бути корисною не тільки мобільним розробникам, але і менеджерам, які стикаються з такою ситуацією.



Читати далі →

Як створювався PVS-Studio під Linux

У цьому році ми почали робити те, до чого у нас довгий час було спірне відношення, а саме — адаптацію продукту PVS-Studio Linux системі. У статті я розповім про те, як через 10 років існування аналізатора PVS-Studio для Windows, ми вирішили зробити продукт для дистрибутивів Linux. Це велика робота, не обмежується, на жаль, як думає ряд програмістів, виключно компіляцією исходников під цільову платформу.

Читати далі →

Self-contained дистрибуція .NET Core додатків


Якщо ви раптом пропустили, то .NET тепер open source, а .NET Core це безкоштовний, open source, багатоплатформовий фреймворк, який ви можете завантажити і запустити за час <10 хвилин. Ви можете отримати його на Mac, Windows і на пів-дюжини Unix-ів з сайту dot.net Спробуйте його разом з безкоштовною, кроссплатформної Visual Studio Code і ви будете писати на C# F# завжди і скрізь.

Читати далі →

Реліз CLion 2016.2: віддалена налагодження, підтримка формату Doxygen, нові можливості кодогенерации і багато іншого

Привіт, Хабр!

Трохи більше року минуло з моменту першого релізу нашої крос-платформної IDE для розробки на C та C++. За цей час у нас з'явилися десятки тисяч користувачів, серед клієнтів зустрічаються такі організації, як NASA і AirBnB, а найпопулярніший запит в трекері набрав понад 500 голосів. І до речі, ми не даремно просимо вас голосувати за ті запити, які вам найбільш цікавими чи актуальні. Наша черга завдань на розробку залежить від вашої думки і ваших голосів в першу чергу. Саме тому реліз 2016.2 включає в себе так багато довгоочікуваних можливостей!



А тепер про все по порядку.

Читати далі →

Автоматизуємо перевірку коду або ще трохи про pre-commit hook'ах

Думаю, немає потреби розповідати хабрапользователю що таке Git / GitHub, pre-commit і як наносити йому hook праворуч. Перейдемо відразу до справи.

У мережі багато прикладів хуков, більшість з них на shell'ах, але жоден автор не приділив увагу одного важливого моменту — хук доводиться тягати з проекту в проект. На перший погляд — нічого страшного. Але раптом з'являється необхідність внести зміни у хук, який вже живе в 20 проектах… Або раптово потрібно переносити розробку з Windows на Linux, а хук на PowerShell'е… Що робити? ??????? PROFIT

«Краще так: 8 пирогів і одна свічка!»
Приклади, звичайно, сильно перебільшені, але з їх допомогою виявлено незручності, яких хотілося б уникнути. Хочеться, щоб хук не потрібно тягати по всіх проектах, не доводилося часто «допілівать», але щоб при цьому він умів:
  • виконувати перевірку відправляється в репозиторій на валідність коду (наприклад: відповідність вимогам PEP8, наявність документації ітд);
  • виконувати комплексну перевірку проекту (юніт-тести ітд);
  • переривати операцію commit'а в разі виявлення помилок і відображати докладний журнал для розбору польотів.
І виглядав приблизно так:
python pre-commit.py --check pep8.py --test tests.py

Зрозуміло, що сам хук — всього лише стартер, а всю особливу вуличну магію виконує запускається ним скрипт. Спробуємо написати такий скрипт. Зацікавився — ласкаво просимо під кат.

Читати далі →

Доповнена реальність на Qt


Зараз доповнена реальність – це одне з найцікавіших напрямків. Тому я і взявся за її вивчення, а результатом цього стала власна реалізація кроссплатформеної безмаркерной доповненої реальності на Qt. Мова в цій статті піде про те, як це було реалізовано (або ж як це реалізувати самому). Під катом можна знайти демку і посилання на проект на гітхабі.
Читати далі →

Як зробити тетріс за півроку на cocos2dx

У своїй статті я б хотів поділитися технічною частиною гри, яку зробили дві людини. Будуть розглянуті основні архітектурні шаблони (design patterns) і прийоми, додаткові бібліотеки, особливості портування при роботі з движком cocos2dx. Вихідний код тут.



Читати далі →

Компіляція iOS додатків для Windows Store


У квітні цього року на конференції //Build був зроблений дуже цікавий анонс, який показав можливість компіляції і збірки ObjectiveC код для Windows Store. З радістю хочу повідомити що тепер ця технологія та інструменти стали публічними, ви можете вже зараз завантажити компоненти збірки ObjC/iOS додатків Visual Studio 2015 і зібрати додаток для Windows Store.

Читати далі →

Безкоштовний грід контрол для Xamarin від DevExpress

У попередній статті (Особливості розробки під Xamarin.Forms я розповів про наш досвід розробки під фреймворк Xamarin.Forms, який дозволяє створювати нативні інтерфейси під три мобільні платформи (iOS, Android, Windows Phone), використовуючи загальний# код і розмітки XAML.

Сьогодні подивимося на результат виконаної нами роботи, наш перший компонент для Xamarin.Forms – Data Grid. Цей компонент можна використовувати безкоштовно, скачавши тут. Разом з ним ви отримаєте програму, що демонструє основну функціональність GridControl-а.



Отже, під катом вас чекає огляд усього того, що вміє Grid на даний момент, а також невеликий Getting Started.

Читати далі →

Особливості розробки під Xamarin.Forms

Близько року тому з'явився крос-платформний фреймворк під назвою Xamarin.Forms. Він дозволяє створювати мобільні додатки під різні платформи, використовуючи C#.NET. По суті він є надбудовою над уже існуючими до нього Xamarin.iOS, Xamarin.Android і Xamarin.WinPhone. І, на відміну від них, він дозволяє створювати лише один проект, в якому можна описати всю логіку роботи програми і його UI. А потім просто компилить його під різні платформи. У підсумку, все це сильно економить час.

Ми вважаємо, що ця платформа має свої перспективи, бо не змогли пройти повз неї. За традицією, ми почали з розробки Data Grid контрола. За час роботи над ним у нас накопичився цікавий досвід розробки під Xamarin.Forms, і ми хочемо з вами поділитися ним.

Читати далі →