Как освоить бекенд с бекграундом в мобайле? Можно ли начать с Go?

Доброго времени суток.
Достаточно давно пишу под мобайл. Есть большое желание освоить бекенд. Ну и хайп на мобайл постепенно падает.
Инстаграммы для еды уже не в моде)

Опыт коммерческой разработки только клиентской части.
По языкам Swift/Objective-C/немного Kotlin.
Естественно базовые знания вроде ООП/паттернов, свободный английский.

Больше всего привлекает Go как достаточно простой язык со статической типизацией. Также на него наблюдается рост спроса.
Про проблемы Go читал, спасибо.
Java мне не подходит. Это путь исключительно на галеру для начинающих.
Хочется освоить то что можно накидать самому за пару дней. Была мысль начать с Node.js, но соседний топик отбил желание)

Мое представление о бекенде достаточно размытое.
Собственно решил поэтому задать вопросы коллегам-бекендщикам.

1 Достаточно ли заниматься только бекендом? Или нужно по любому лезть во фронт-енд?
2 Подойдет ли Go как стартовый язык для освоения бекенда?
3 Можно ли на фрилансе найти простые задачи на Go?
Чтобы «набить» руку на реальных задачах и не получить по рукам)? С мобайлом тут попроще.
4 Что почитать по настройке серверов?
5 Что почитать/курсы по работе с базами данных?
6 Что почитать по Go (если уже есть опыт в других языках)?
7 Список полезных курсов/ресурсов по Go и бекенду в целом по данной тематике приветствуется (микросервисы и тп).
8 Если одного Go мало какой язык стоит выучить еще?

Спасибо.

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Хех. А мне кажется хайп на бекенд падает. Я недавно перешел в обратном направлении с Enterprise Backend в Mobile iOS :)

З фрілансом не дуже, але remote позицію знайти абсолютно реально..

1 Достаточно ли заниматься только бекендом? Или нужно по любому лезть во фронт-енд?

Тут все зависит от требований заказчика, часто хотят и то и другое и что бы еще мог и на С++ и Java. Но в целом я бы осваивал back-end первым, в Go есть нормальная поддрежка HTML-темплейтов. Дальше если хотите получить навыки по front-end выбирайте любой подходящий для вас JS-framework.

2 Подойдет ли Go как стартовый язык для освоения бекенда?

Да. Но Go не всегда лучший вариант для реализации сложной бизнесс-логики и лучше посмотреть на .NET/Java или если хотите экзотики — можно посмотреть на Rust.

3 Можно ли на фрилансе найти простые задачи на Go? Чтобы «набить» руку на реальных задачах и не получить по рукам)? С мобайлом тут попроще.

Сложный вопрос — мне кажется не очень.

4 Что почитать по настройке серверов?

Как написали ниже Go это самодостаточный сервер. Можно использовать NGINX, но я не вижу в этом смысла.

5 Что почитать/курсы по работе с базами данных?

Можете посмотреть пакеты по работе с базами тут: golang.org/pkg
Опять же все зависит от базы данных, работа с SQL отличатся от работы с NoSQL или например с Google DataStore.

6 Что почитать по Go (если уже есть опыт в других языках)?

Специкацию языка, Effective Go и тут вот еще proglib.io/p/golinks

7 Список полезных курсов/ресурсов по Go и бекенду в целом по данной тематике приветствуется (микросервисы и тп).

Курсов я не не нашел... они есть, но я не проходил.

8 Если одного Go мало какой язык стоит выучить еще?

По моему опыт Go часто требуют в связке с Java, Node.JS, Phyton и очень мало с .NET.

1 Достаточно ли заниматься только бекендом? Или нужно по любому лезть во фронт-енд?

Достаточно, я например уже пару лет js не видел.

1 Достаточно ли заниматься только бекендом? Или нужно по любому лезть во фронт-енд?

Начинайте с бэкенда. Фронтенд сам придет, когда нужно будет.

2 Подойдет ли Go как стартовый язык для освоения бекенда?

Да.

3 Можно ли на фрилансе найти простые задачи на Go?

Не знаю.

4 Что почитать по настройке серверов?

Обычно программа на Go — самодостаточный сервер, для которого не нужны дополнительные прослойки типа nginx, apache и т.п. Начните со стандартного net/http, затем посмотрите, как устроены разные веб-фреймворки на Go, чтобы иметь представление о разработке серверов на Go.

5 Что почитать/курсы по работе с базами данных?

Почитайте документацию по стандартному database/sql. Этот пакет используется в большинстве проектов. Поверх него есть всякие ORM’ы и «улучшатели» — можете погуглить после изучения database/sql.

6 Что почитать по Go (если уже есть опыт в других языках)?

вот эту книжку. Говорят, она хороша. Также пройдите тур по Go и прочтите стандартную документацию.

7 Список полезных курсов/ресурсов по Go и бекенду в целом по данной тематике приветствуется (микросервисы и тп).

См. предыдущий мой комментарий. Там ссылка на курс по бэкенду на Go с кучей звездочек.

8 Если одного Go мало какой язык стоит выучить еще?

Если придется соприкасаться с фронтендом, то столкнетесь с javascript’ом и typescript’ом. Изучите основы, чтобы понимать, как оно работает в браузере. Дальше углубляться не стоит, т.к. может затянуть в хипстерские ангуляры с реактами :)

а не могли бы Вы посоветовать IDE для Go бесплатную?
Хотя простые примеры для обучения я конечно в Atom напишу)

а не могли бы Вы посоветовать IDE для Go бесплатную?

LiteIDE github.com/visualfc/liteide
Есть даже готовая portable-сборка Go для винды, в комплекте с этой идешкой — github.com/...​portable-windows/releases

Говорят, что vs code for go неплох — code.visualstudio.com/docs/languages/go

Да, хороший небольшой редактор. Если уже установлена Visual Studio 2017, например бесплатная community edition, то можно использовать её. Там исходники go можно включить в solution, и работать с ними.

Goland отличная, хоть и платная. Добавлю сюда еще Atom, но мне он не пошел и мне было проще купить Goland.

Мені більше зайшло VSCode, ніж Atom, але раджу одразу використовувати Goland. пс Якщо не можете купити платну версію, то можете оформити .edu підписку на Jetbrains. Погугліть;)

Так просто не буває.. Тільки після того, як Вас вкусить Gopher.. ))))

Також дуже ефективний та зручний метод, це ознайомлення з існуючими рішеннями. У конкретному прикладі, для вивчення бекенду, я можу порекомендувати потестувати існуючі фреймфоркі з екосистеми Go. У травні цього року я робив презентацію у Марселі щодо цього, ось слайди: speakerdeck.com/...​n-of-10-go-web-frameworks

Как много адекватных заказчиков захочет использовать это в продакшне?

Все так плохо на рынке iPhone или с Android тоже самое?

Мобайл слишком специфическая и узкая ниша. Нового там уже никто ничего не придумает.
Ну разве эмоджи еще какие новые появятся.
имхо того хайпа который был несколько лет назад уже не наблюдается.

Самый лучший курс (особенно для не англоязычных) — от Стивена Грайдера:
www.udemy.com/...​omplete-developers-guide
Он очень хорошо объясняет.

спасибо. Думаю взять какой еще курс именно по девелопменту, а не языку.
Как задеплоить/настроить сервак и т.п.

а, вот тут показан пошагово весь процесс: www.usegolang.com

см. github.com/...​blob/master/en/preface.md . Сам не читал, но звездочек у документации много — может, нормальная.

Я читал, весьма толковый учебник, есть все нужные примеры написания серверов, подключения sql и nosql баз, в принципе эта книжка для старта будет очень полезна.

Про проблемы Go читал, спасибо.

У Go нет никаких проблем, проблемы есть у тех, кто не пишет на Go.

Что почитать по Go (если уже есть опыт в других языках)?

tour.golang.org

Если одного Go мало какой язык стоит выучить еще?

Go самодостаточен, всю логину от начала и до конца можно писать на нём. Низкоуровневое API можно писать на C, и для компиляции можно поставить TDM-GCC. Например, твой сервер может читать/писать изображения в формате webp, и для этого подключать соответствующую либу на C.

Подписаться на комментарии