• Создание мобильного приложения: свой штат, фрилансеры или аутсорсинг?

    zo0m
    @zo0m
    full stack developer
    Пофантазирую, как я бы сделал, но т.к. от вас подробностей маловато сценарий, конечно же, может быть не релевантен:

    Сначала отдал на фриланс
    (Цель: создание MVP)
    Во время создания MVP вы утрясете детали того, каким в действительности должно быть приложение, а не вашу текущую фантазию. Это время, когда вам предстоит ответить на вопрос, что конкретно вы делаете.

    Потом - штат
    (Цель: получить уже "правильно" построенный продукт, т.к. будут четко ясны большинство требований сразу, что позитивно скажется на архитектуре проекта [соответственно масштабируемости], логической модели)
    Когда вы в процессе создания MVP понимаете, как все в действительности будет работать, то начнете формировать штат, которому скажете сделать такую же штуку, но нормально. MVP в данном случае - это все равно, что сделать подробнейшее ТЗ.
    Можно параллельно поддерживать MVP, собирая клиентов, отрабатывать какие-то бизнес цели, а потом выкатить крутой апдейт, версию 1.0

    Если принять такой процесс, то MVP можно сделать на чем-то кроссплатформенном (т.к. важно быстро и дешево).
    А в продакшен версии приложения можно использовать любые технологии. Можно 2 native версии, или переписать на том же кроссплатформенном движке, если все будет в принципе устраивать (это будет дешевле).
    Ответ написан
    2 комментария
  • Когда можна приступать к фреймворкам?

    zo0m
    @zo0m
    full stack developer
    Стандартный ответ на вопрос как, когда и что учить:
    пили проекты, решай реальные задачи, все остальное тлен.

    Нужно подкреплять практику теорией, а не наоборот.
    Представь, что ты решил научится плавать, сколько книг тебе нужно прочитать по плаванью? Одну про плаванье для чайников, одну-две про стили плаванья, еще одну про всякие истории, где старые пловцы рассказывают о своих ошибках? Или просто залезть в воду и махать руками будет эффективнее? В идеале конечно тренера бы (не курсы, а наставника), но и самому побарахтаться - научит тебя больше, чем 100 книг.

    Не дают работу? так сделай что-то для себя, для своих близких, для дяди, тети. Можно начать с какого-нибудь телеграм бота - сделать очень просто, минимум навыков.
    Ответ написан
    6 комментариев
  • Какие инструменты лучше использовать для создания мобильного приложения?

    zo0m
    @zo0m
    full stack developer
    Если есть опыт в C# - то глядите Xamarin
    это тот же Appcelerator только на C#

    React-Native может быть и неплох, не знаю.
    Appcelerator мне нравится, что он достаточно простой для старта и у них удобная документация, а так же есть Slack сообщество где можно вопросы позадавать. Плюс они с этого месяца стали бесплатными, в том числе и их супер-пупер технология - Hyperloop.
    Ответ написан
    Комментировать
  • Что почитать по разработке API?

    zo0m
    @zo0m
    full stack developer
    а еще поглядите на swagger:

    editor.swagger.io

    это и готовый пример, и способ документации, и тестирования, и кодогенерации.
    Ответ написан
    Комментировать
  • Можно ли шаблон мобильного приложения разработанного в Appcelerator (Titanium Studio) редактировать в Android Studio?

    zo0m
    @zo0m
    full stack developer
    Можно.
    Теперь вы можете пользоваться Titanium бесплатно:
    www.appcelerator.com/blog/2017/05/free-plan-announ...
    https://www.appcelerator.com/pricing/
    Ответ написан
    Комментировать
  • Может ли нанятый разработчик моб. приложения угнать идею?

    zo0m
    @zo0m
    full stack developer
    Работайте через фриланс биржи, с разработчиками, которые заботятся о своей репутации и будет все хорошо.
    Ответ написан
    Комментировать
  • Возможно ли создать простое приложение для iPhone?

    zo0m
    @zo0m
    full stack developer
    Цена будет зависеть от специалиста, можно нанять студента, и заплатить ему 200 usd (а может и меньше), а можете нанять какого-нибудь продвинутого чувака, и заплатить ему, ну например 500 usd (грубо говоря 10-15 часов работы в итоге будет, ну там: поговорить с вами, понять что вам конкретно нужно, за 2-4 часа все быстренько сделать, потом ваши исправления и пожелания вносить, потом выкладывать).

    Разницы особо никакой наверное не будет, у вас примитивное приложение, но крутой спец, может чего вам подскажет в принципе полезного, или уговорит сделать другое приложение, чуть покруче :) )
    Вам нужно кроссплатформенное приложение, т.к. задача у вас простая, не нужно 2х специалистов нанимать.
    Самый дешевый вариант кроссплатформы - PhoneGap и его друзья.

    Пропустит, если оно не будет совсем убогим

    Работайте через фриланс биржи через всякие "сделки без риска", и лучше всего почасовка, всем лучше и вам и фрилансеру.
    Просто обсудите примерное количество часов заранее, и поставьте на них лимит
    Ну т.е. вы рассчитали что фрилансер сделает работу за 10 часов, поставьте лимит в неделю 10 часов. Так вы не выйдете за свой бюджет, и если человек не успевает по срокам, то вы обсуждаете почему, и вы максимум попадаете на 10 часов, зато в любом случае получите опыт, так что вы тоже в плюсе :), зато работа может быть выполнена и быстрее и в итоге вы сэкономите.
    Фрилансер с удовольствием будет делать все ваши хотелки, ведь это дополнительные часы. А когда цена за проект оговорена, то любые ваши хотелки это "минус время" для фрилансера, а значит у него нет мотивации, это биология.
    Ответ написан
    Комментировать
  • На каком языке будет быстрее парсить?

    zo0m
    @zo0m
    full stack developer
    Язык любой, мне нравится для этих целей JavaScript, а именно Node.js + cheerio(можно будет селекторы из jQuery для парсера использовать ) + Promise (удобно управлять потоками парсера)
    Ответ написан
    Комментировать
  • Серверные языки - как не запутаться и что изучить?

    zo0m
    @zo0m
    full stack developer
    Я бы рекомендовал Java, поставит мозги правильно.
    Не понимаю почему говорят что Java учить долго. На мой взгляд все достаточно банально, плюс проще найти приличную работу.
    Ответ написан
    Комментировать
  • OAuth-авторизация на сайте и JS-приложениях?

    zo0m
    @zo0m
    full stack developer
    поглядите на JWT (https://jwt.io)
    способ аутентификации по токену, без необходимости хранить сессии в базе
    Ответ написан
    Комментировать
  • Нативная разработка vs кроссплатформенный фреймворк: что проще для создания бизнес-приложений (не игры, не системное ПО) под iOS и Android?

    zo0m
    @zo0m
    full stack developer
    Пользуюсь Appcelerator.
    JavaScript-овый V8 соединенный через бриджи с native средой, позволяют пользоваться полностью нативными контролами (всякие нативные плагины тоже можно подключать через модули) и управлять всем этим хозяйством из JavaScript.
    Недавно (пол года назад) выкатили Hyperloop и теперь можно писать на JavaScript - настоящий нативный код (пишешь на JS, а он потом транслируется в нативные вызовы), но это входит в платную подписку за 1000 баксов в год, поэтому я пока hyperloop_ом не пользуюсь.

    Пишу все на JS, (а еще больше люблю использовать CoffeeScript):
    сервер (express),
    мобайл (appcelerator),
    фронт (angular)

    Удобно.
    Ответ написан
    Комментировать
  • Насколько это безумное решение?

    zo0m
    @zo0m
    full stack developer
    Судя по всему вы решаете ваши архитектурные проблемы через мутные хаки. Можно конечно, но это не решение.

    Если модуль большой, и делает слишком много, разбейте его на несколько помельче, один делаете фасадом, и он просто будет содержать в себе набор подмодулей. Другие инстанциируете внутри и пробрасываете до них вызовы.
    Ответ написан
    1 комментарий
  • Стартап или как найти программиста, если ты чайник?

    zo0m
    @zo0m
    full stack developer
    1. Я бы искал на апворке на почасовку частного специалиста, т.к. по сути вам нужен человек в штат, отдавать на аутсорс основной кусок затеи мне кажется не лучшая идея.
    2. Думаю не нужен. Я бы разбил бы разработку на недельные итерации, и самостоятельно решал бы на месте что и как делать со специалистами.
    3. Есть такие специалисты, называются full stack. Я бы рекомендовал смотреть на 'JavaScript full stack'. И строить все на JavaScript, например:
    - backend : nodejs, express, postgresql, sequelize. делать rest api, само api документировать в swagger
    - frontend: angular2, sass, jade
    - mobile: NativeScript / Appcelerator Titanium

    Разработку строить спринтами (см. Agile ), т.е. раз в неделю созвон по скайпу, вам показывают демо того что сделано за неделю, вы обсуждаете ситуацию на проекет, согласовываете, план работ на следующую неделю.
    На upwork, как раз, 1 раз в неделю снимаются деньги с карты.
    Нанять рекомендовал бы двух специалистов, один делает backend, другой frontend. Тогда меньше шансов, что один будет вас за нос водить, плюс конкуренция за крутость в команде :).
    Можете взять на 20-30 часов в неделю, производительность снизится меньше чем затраты :)
    Того, что делает backend желательно найти поопытнее, т.к. backend важнее правильно спроектировать.
    Цены фрилансеров на upwork грубо говоря 15-40 $/h, скажем 1 за 30$ на 20 часов в неделю (backend), другой за 25$ на 30 часов в неделю, 5400$ в месяц. Предположим 2 месяца на MVP, потом еще 4 на допил, итого 5400$ * 6 мес = 32k
    Можете поискать на местных биржах, будет дешевле, наверное, только я не знаю, какой специалист согласится работать дешевле, если рядом можно дороже, а об upwork знают все :).
    4. Возможно моки экранов / дизайн
    5. Можете нанять дорогого специалиста, который за деньги проведет собеседование с вашими кандидатами
    Ответ написан
    2 комментария
  • Как составить план своего дальнейшего изучения? С чего начать?

    zo0m
    @zo0m
    full stack developer
    Когда я лет 10 назад учил Java, мне очень пригодился курс: java-course.ru
    Сейчас я зашел на сайт - он разросся, а тогда был только "Отдел кадров", и я его даже распечатал :)
    В отличии от книг это практическое пособие.
    Ответ написан
    Комментировать
  • Как логически составить план чтения книг по разработке?

    zo0m
    @zo0m
    full stack developer
    Не представляю, как можно прочесть все те книги, что вы написали выше. И дело не в объеме, а то что количество полезной(которую вы усвоите) информации на страницу стремится у нулю. А такая низкая эффективность должна просто убить на корню ваше же желание читать.

    Современное программирование - это конструктор. Сейчас вы можете из кубиков (модули, плагины, расширения, готовые 'seed' проекты, привет yeoman) создать что угодно, при помощи здравого смысла и гугла. Представьте что вы купили себе Lego. Неужели вам важнее инструкцию почитать, чем самому пощупать детальки?

    Конечно нужно понимание, знания, культура в конце концов. Но опыт первичен, книги - просто подпорки. Возьмите просто и сделайте свой первый "говнопроект".
    Из моего опыта: Я менял специализацию с Java на JavaScript fullstack, и мне хватило 3 пет-проекта, которые даже не опубликованы, и 0.3+0.3 книг, чтобы переехать на совершенно новый для меня стек.

    Я не дочитал до конца ни одной книги по программированию, возможно мне хватило знаний универа, возможно практика решает, возможно я не прав:), еще 1000 возможно, но из всех книг что я [недо]читал :), я запомнил 2, и всем их рекомендую:
    - "Thinking in Java" (при чем изначально я читал её просто, чтобы разобраться с ООП, писал я тогда на Turbo Pascal, но книга очень вкусная)
    - "Чистый код". Мартина, где он формализовал, что такое вонючий код, и правильные принципы, как держать свой проект в чистоте.
    Ответ написан
    Комментировать
  • Как писать на ноде серверную часть для мобильных приложений?

    zo0m
    @zo0m
    full stack developer
    Пишу REST сервисы на Express + Sequelize + JWT(для аутентификации)

    Хинт: Чтобы максимально быстро собрать сервер, а так же забацать классное, документированное и легкотестируемое API нужно воспользоваться swagger
    Сначала описываете API а потом жмете "Generate Server"=>"Node.js"
    вуаля :)
    Конфигурацию из сваггера можно выгрузить в Postman и сразу сгенерировать стабы для запросов.
    Ответ написан
    Комментировать
  • IDE для nativescript?

    zo0m
    @zo0m
    full stack developer
    Судя по всему нужно из CLI запускать:
    stackoverflow.com/questions/37334660/nativescript-...
    tns livesync [android|ios] --watch
    Ответ написан
  • На чем написать CRM?

    zo0m
    @zo0m
    full stack developer
    Мой вариант:
    Фронтенд Angular2 (если хочется то при помощи Electron можно и десктоп приложение забацать http://electron.atom.io) + Materialize (http://materializecss.com)
    Бекенд соответственно NodeJS с обычным REST API на Express + Sequelize+ PostgreSQL, но еще лучше, сначала на бекенд вообще забить и пользоваться готовым, например Firebase. Потом переедете на свое решение, а сначала сконцентрируйтесь на одной задаче.
    Итого, учите только JavaScript, точнее сразу TypeScript
    Ответ написан
    Комментировать
  • Как повысить скорость выполнения запроса к api?

    zo0m
    @zo0m
    full stack developer
    Где физически находится стороннее API и ваш сервер? Попробуйте подвинуть свой сервер поближе. Может можно кешировать запросы к стороннему API и слать не во всех случаях?
    Мощность хостинга вряд ли, вы же просто пробрасываете запросы дальше, вам важно количество соединений которые может держать ваш сервер, но все равно напишите что за машину используете, и что за технологию вы используете? (для этой задачи NodeJS мне кажется отлично)

    Про кеш: в зависимости от ситуации, можно отдельно тянуть данные в свою БД, и обрабатывать там
    Ответ написан
    Комментировать