Блог пользователя IWillBeRed

Автор IWillBeRed, 10 лет назад, По-русски

Всем привет! Я маленько умею программировать на C++ и Java, из опыта разработки только олимпиады и лабы, никогда раньше не занимался написанием сайтов, серверов... и ничего в этом не смыслю.

Сейчас решил научится делать какие-нибудь сайты, скажите пожалуйста, с чего начать, что почитать, на чем вообще сейчас делаются сайты?

ПС. хотелось бы более подробные ответы, чем "HTML5 + Java Script + PHP + погуглить"

заранее спасибо!:)

  • Проголосовать: нравится
  • +8
  • Проголосовать: не нравится

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

на чем вообще сейчас делаются сайты?

Например, насколько мне известно, "морда" Codeforces написана с использованием JSP.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +11 Проголосовать: не нравится

    Не правда. Java != JSP. И на самом деле JSP я не люблю. Для view-level у нас используется http://freemarker.org/, но это, так сказать, только вершина айсберга )

»
10 лет назад, # |
Rev. 3   Проголосовать: нравится +30 Проголосовать: не нравится

ПС. хотелось бы более подробные ответы, чем "HTML5 + Java Script + PHP + погуглить"

Но собсно именно так и нужно. Сначала (если не знаете) разбираетесь с HTML, это допустим у вас займёт день.

Потом опционально можете познакомиться с CSS и JS.

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

В Java есть много способов и честно говоря все они сложные для новичка. На C++ имхо такими вещами почти никто не занимается (хотя технически можно).

Поэтому я за PHP. После C он у вас легко пойдёт и по тьюториалу точно так же за несколько дней создаст в голове достаточно ясное представление. Ну попутно вы ещё разберетесь в том как работает протокол HTTP чтобы лучше понимать не только как данные с сервера приходят, но и как они туда уходят — как пользователь взаимодействует с сайтом — ну это на час чтения...

Ну а дальше, если захочется, вы уже будете понимать куда вам надо углубляться.

Например вы можете обнаружить что всё это уже прошлый век и сейчас модны сложные одностраничные клиенты на жаваскриптовых фреймворках вроде angular, которые обмениваются JSON-ом с бэкендом. Ну тут все не так категорично, но модное веяние, да...

на чем вообще сейчас делаются сайты?

Вкратце — на всем. И чем дальше, тем фреймворков, библиотек, подходов, парадигм и языков больше и больше... HTML+CSS и их генерация — это просто базис который актуален во всех практически подходах т.к. браузеры рендерят именно его. А как вы их генерируете — это уже дело вкуса.

»
10 лет назад, # |
Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

Фронтенд: HTML5, JS, CSS — обязательно
Бекенд: php, python, ruby, java, asp.net, node.js — выбор огромен

Лично я б предложил два варианта:
1) python(django) — хороший ЯП, хороший фреймворк
2) node.js + angularJS + mongoDB — вариант крут тем, что используется лишь один язык программирования — JS, как для фронтенда, так для бекенда и БД =)

  • »
    »
    10 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

    Бекенд: php, python, ruby, java, asp.net, node.js — выбор огромен

    Тут заметим что это просто названия языков. А в рамках применения большинства из них можно ещё самостоятельные варианты выделить. На PHP и Java количество разнообразных фреймворков (которые м.б. изучать придётся не меньше чем язык) десятками измеряется.

    Но для новичка я соглашусь насчёт Python. Django можно на Flask заменить, впрочем — м.б. ещё легче станет.

    • mongoDB

    Модное увлечение, но всё-таки юзать не-SQL-ную базу для бизнес-логики чревато я б сказал. Сначала всё кажется весело и прекрасно, а потом когда переписывать уже поздно понимаешь что завяз, гы.

    А так да, Node + Angular сейчас в тренде. Даже в проекте на котором я сейчас работаю миддл и фронтенд именно этой связкой представлены. Только вместо Mongo мы завязли по уши с другой не-sql-ной базой :D

»
10 лет назад, # |
Rev. 2   Проголосовать: нравится +9 Проголосовать: не нравится

Прорекламирую Meteor в комбинации с Bootstrap. Первое — это очень удобный и зрелищный (в смысле результата) framework для создания сайтов, а второе — CSS-framework, чтобы меньше думать о вёрстке и цветах. Но, да, знание основ HTML и JavaScript (довольно прост, если не лезть в дебри и WAT-зону) просто необходимо.

В частности, чем, по моему мнению, хорош Meteor:

  1. Один язык и на сервере и на клиенте
  2. Всё работает сразу "из коробки", не требуется ничего настраивать дополнительно (по крайней мере, на Linux)
  3. Реактивность и живые обновления "из коробки": данные автоматически синхронизируются между сервером и клиентом, интерфейс запросов одинаковый и там, и там, очень удобно с точки зрения недублирования кода
  4. Простое и понятное API, хорошие руководства. В частности, есть отличная книжка "Discover Meteor", она даже переведена на русский (не уверен, что последняя версия тоже есть на русском, впрочем).