(function(bannerClassName) { const sendEvent = (token, action) => { const value = 'Branding ' + token + ' – ' + action; if (window.dataLayer !== undefined) { window.dataLayer.push({ event: 'data_event', data_description: value, }); } else { console.log('GA send: ' + value); } }; const oneBeforePageChange = (callback) => { if (typeof Air === 'object') { const ajaxify = Air.import('module.ajaxify'); ajaxify.one('Before page changed', () => { try { if (callback) { callback(); } } catch (error) { console.log(error); } }); } }; const onLinkClick = (e) => { const link = e.target; const href = link.getAttribute('href'); sendEvent(href, 'Click'); link.removeEventListener('click', onLinkClick); }; const branding = document.querySelector(bannerClassName); if (!branding) { return; } const links = branding.querySelectorAll('a'); for (let i = 0; i < links.length; i += 1) { const isVisible = getComputedStyle(links[i]).display !== 'none'; const href = links[i].getAttribute('href'); if (isVisible) { sendEvent(href, 'Show'); } links[i].addEventListener('click', onLinkClick); } oneBeforePageChange(() => { for (let i = 0; i < links.length; i += 1) { links[i].removeEventListener('click', onLinkClick); } }); })('.entry-native-branding');

Да что ты знаешь о разработке приложений ?

Приветствую! Здесь Osket — ваш гид в мире айти, игр и новостей, сегодня затрону самую непрозрачную тему, чей айсберг гораздо глубже, чем ты думаешь.

Общее представление

Знаете, я занимаюсь фрилансом более 5 лет, и каждый раз я встречаюсь с одной и той же проблемой. Уважаемые хотят отдать деньгу->получить приложуху. Они не хотят погружаться в приложение, стать тем самым тру1000ЛВЛ владелец продукта, который знает как флаттер из-под линукса запустить, да логику менять без просьб разраба. Такие люди думают так: -- *Ага, программист умеет делать приложение, но ему нужны референсы* -- *отправляет ссылки с сторов похожих приложений* -- Я вам тз отправил, там ссылки на приложения, которые я хочу, только надо тут не так, а тут поменяйте, и авторизация другая нужна и тд…

Вебка разработчика после такого "тз"

При этом, они готовы отвечать на вопросы, но абсолютно не хотят привлекать дизайнеров, тестеров, аргументируя это: «А нахер мне дизайнер, если я хочу точно так же" и "Если программист хороший, то тестировшик не нужен»

А когда программист сдает работу, то выясняется что все вообще не то, а сам проргаммист самоучка птушник без знаний в своей области, а все отзывы накрутили Одмены сайта фриланса, так как это их родственник.

После 15 мин скроллинга

Клиент уже понимает, зачем нужен дизайнер и тестеровшик, однако считает, что их стоимость должна входить в программирование приложения и спорит с разработчиком на этот счет, такой человек обязательно будет пытаться разобраться в коде, ведь он уже приложил первые силы и готов к дальнейшей работе, он УЖЕ выпустил приложение, но такая аппаха принесла только разочарование со 100 инсталами и рейтингом 2. ## Откровение разработчика

Преварительный этап

Со всем своим опытом могу сказать, что надо захватывать все инстанции разом, для удачного запуска и разработки приложения. Ваша идея не уникальная, 100% были схожие приложения. По-этому, вам надо сначала посерчить конкурентов (новых и закрытых), поискать их проблемы, посмотреть их приложения. Раскрыть недостатки и зафиксировать их. Выделить слабые места и аудиторию, которые слабо могут мериться с этими слабыми местами, а так же выдвинуть теорию, почему так происходит. Дальше стоит проверить эту теорию, опровергнуть или доказать её зачет рекламы, опросов и прочих методов. Составить карту привычных действий пользователей, что бы новое приложение могло работать с опытом данной категории.

Проектирование и дизайн

Использую аналитические данных и привычный путь пользователя, составить более удобное приложение для целевой аудитории и решить их боли. Разработать лендинг и подготовить Медиа-рессурсы, что бы начать подогревать аудиторию к вашему приложению.

Разработка

Важно созваниваться с разработчиком каждую неделю для обновление статусов разработки, а каждые 3 рабочие дня получить от него новый билд с новыми результатами. Сразу писать правки и быть готовым к работе на почасовую оплату, т. к. вам всегда захочется что-то изменить, а это будет отнимать время у разработчика. #### Тесты и срыв сроков

важно подготовить проект и покрыть его тестами, а так же быть готовым к. тому, что разработчик может напортачить со сроками, так как это обычная практика у любого разраба. ### После выпуска Провести рекламную компанию, сео&асо оптимизацию, осуществить тех-поддержку и заполнение медиа-ресурсы контентом

Краткая версия

Аналитика- Дизайн- макет- разработка- полировка- релиз- оптимизация&реклама- тех поддержка

Хотите получать эксклюзивный контент и быть первыми в курсе новостей и анонсов стримов в мире айти и нейросетей? Тогда подписывайтесь на наш Telegram канал прямо сейчас и не пропустите ничего интересного!

(function(bannerClassName) { const sendEvent = (token, action) => { const value = 'Branding ' + token + ' – ' + action; if (window.dataLayer !== undefined) { window.dataLayer.push({ event: 'data_event', data_description: value, }); } else { console.log('GA send: ' + value); } }; const oneBeforePageChange = (callback) => { if (typeof Air === 'object') { const ajaxify = Air.import('module.ajaxify'); ajaxify.one('Before page changed', () => { try { if (callback) { callback(); } } catch (error) { console.log(error); } }); } }; const onLinkClick = (e) => { const link = e.target; const href = link.getAttribute('href'); sendEvent(href, 'Click'); link.removeEventListener('click', onLinkClick); }; const branding = document.querySelector(bannerClassName); if (!branding) { return; } const links = branding.querySelectorAll('a'); for (let i = 0; i < links.length; i += 1) { const isVisible = getComputedStyle(links[i]).display !== 'none'; const href = links[i].getAttribute('href'); if (isVisible) { sendEvent(href, 'Show'); } links[i].addEventListener('click', onLinkClick); } oneBeforePageChange(() => { for (let i = 0; i < links.length; i += 1) { links[i].removeEventListener('click', onLinkClick); } }); })('.entry-article-footer');
0
Комментарии
Читать все 0 комментариев
null