Попалася мені в середині минулого тижня стаття про те, що гра Doom портована на купу різних платформ. У списку були і калькулятори і осцилографи. Були там і наручний годинник Apple Watch і Android Wear. Але чомусь не було годин Samsung Gear S2 та S3, які працюють на Tizen. Дивно, годинник потужні. А в мене як раз є досвід розробки для них. Відмінно, я вирішив, що виклик прийнятий.

Читати далі →

Чисто експериментальні прийоми портування Stream Java API з 8 на Java 6

Рік тому я розповідав про те, як за допомогою Maven і Retrolambda портувати свою програму, що використовує мовні засоби Java 8, а також супутні «не зовсім Java 8» бібліотеки на Android. На жаль, нові Java 8 API використовувати не вдасться через банальну їх відсутності на більш старої цільової платформі. Але, оскільки сама ідея не покидала мене тривалий час, мені стало цікавим: можна переносити, наприклад, Stream API на більш стару платформу і не обмежуватися самими лише можливостями мови начебто лямбда-виразів.
зрештою, така ідея має на увазі наступне: як і в попередньому випадку, потрібно з допомогою доступних інструментів, зокрема старої-доброї Retrolambda, переписати байткод Stream API таким чином, щоб код, який використовує цей API, міг працювати і на старих версіях Java. Чому саме Java 6? Чесно кажучи, з цією версією Java я пропрацював довше час, Java 5 я не застав, а Java 7 для мене скоріше як пролетіла повз.

Читати далі →