Гибридная жизнь

Рейтинг:   / 2
ПлохоОтлично 

Что нужно человеку для счастья? А если он программист?

Эти два вопроса постоянно встают в нашем скучном и меркантильном мире. Работая постоянно с разными технологиями хочется, как обычно, и рубку съесть и попку не поцарапать. А именно: написать что-то полезное и себе и людям, не затратить на это много времени и сил, чтобы оно выглядело достойно и не вызывало рвотных позывов при своём использовании.

Собственно, пользуясь определёнными технологиями и техниками программирования изо дня в день хочется их переносить из проекта в проект. Вот и со мной так. В основной своей массе сегодняшние проекты мои это - SPA (single page application) на базе Angular и/или IONIC, да RESTful сервисы (Windows в основном, NancyFX, WebAPI). А в повседневной жизни я уже давно пересел с ноутбуков да планшетов на Android телефон (iPhone и яблоко я за их политику очень не очень, а Microsoft нас радует, уже на регулярной основе, проигрышами всех возможных мобильных рынков). Собственно я, как разработчик, всю жизнь был обязан Microsoft и его технологиям, но - увы, НТП не стоит на месте и IT мир преподносит свои радости и печали.

За прошедшее время я не раз уже прибегал к написанию native Android приложений, но каждый раз при смене версий Android (особенно при переходах от 2.х, 3.х, 4.х, 5.х, 6 и тд и тп) встречаешь ситуацию, когда многое надо переделывать, те же Drawler-ы тому нам примером. Но время не резиновое и хочется как-то абстрагироваться от всех этих утяжелений "многими знаниями". А поэтому выход тут для меня - гибридность. Когда, скажем так, вся теневая работа и взаимодействие с ОС выполняется нативным API Android, а вот система отображения и красоты переносится в платформонезависимые Framework-и на базе Web.

Собственно хочу немного поделиться опытом. Предполагается, что Вы - знакомы как с Java / Android / SDK (можно быть не таким уж монстром в этом, достаточно уметь создать проект, понимать, что такое manifest, activity, ну, в общем - иметь базовые знания), так и знакомы, минимум, с Angular (имеется ввиду версии от 2 и выше, а не JS с его заморочками). Т.е. вы должны знать Java, HTML5, CSS (SASS), TypeScript, JavaScript, опционально - jQuery и IONIC. Последний просто для полной имитации нативного интерфейса пользователя и чтобы не писать свой bootstrap или не вляпаться в стандартный bootstrap (с которым так же придётся помучиться пока неуговорите его выглядеть так, как это принятой нативных приложений Android, а именно - material design). Насчёт последней (material design) можно, конечно, воспользоваться библиотекой Material Design for Angular. Но я нашёл её для себя вне рамок обязательна к использованию.