У меня большой опыт программирования, но не веб. На веб только общее знакомство с HTML, CSS, JS.
На чем бы вы порекомендовали мне начать веб-разработку, так, чтобы как можно быстрее получить результат, чтобы это было не слишком сложно в изучении (для опытного программиста), и чтобы сайт получился плюс-минус на современном уровне ("responsive", "reactive" или что-то такое)? Проект свой собственный, так что ограничений нет. Поскольку у меня есть опыт и общая эрудиция в программировании, язык тоже может быть любой, хоть Хаскель. Главное — эффективность и удобство.
Мне, на первый взгляд, показалось, что задача сделать UI на вебе многократно сложнее, чем сделать UI для десктопа, из-за огромного зоопарка языков и технологий, и сложности каждого из них. Фактически, по самому минимуму нужно знать три языка (!): HTML, CSS, JS, и, что гораздо хуже, знать современные библиотеки, парадигмы и паттерны, которых наросло невероятное количество. Например, никто не пишет без jQuery, а его тоже нужно изучать. Ну и еще проблема в том, что есть множество разных подходов, которые радикально отличаются друг от друга, так что, если начать делать на одном, на другой просто так не перейдешь — надо будет все заново изучать и переделывать.
Я ради интереса посмотрел новый сайт Guardian на гитхабе, и, хотя, в целом, идею понимаю, и мне понравилось, мне показалось, что общая сложность реализации и количество знаний, которые нужно иметь, чтобы это сделать, не пропорциональны решаемой задаче, а именно, всего-навсего, задаче сделать какую-то вшивую электронную газету. Я раньше разрабатывал программы, включающие сложные алгоритмы, вычисления и научные методы, и реализация в коде выглядела гораздо проще, чем у сайтов. Что-то как-то современный веб-девелопмент переусложнен.
Re: На чем разрабатывать?
От:
Аноним
Дата:
03.01.14 08:31
Оценка:
Ну это да, формы делать проще. Можно попробовать css фреймворки, bootstrap например.
Здравствуйте, Аноним, Вы писали:
А>У меня большой опыт программирования, но не веб. На веб только общее знакомство с HTML, CSS, JS.
А>На чем бы вы порекомендовали мне начать веб-разработку, так, чтобы как можно быстрее получить результат, чтобы это было не слишком сложно в изучении (для опытного программиста), и чтобы сайт получился плюс-минус на современном уровне ("responsive", "reactive" или что-то такое)? Проект свой собственный, так что ограничений нет. Поскольку у меня есть опыт и общая эрудиция в программировании, язык тоже может быть любой, хоть Хаскель. Главное — эффективность и удобство.
Я много работал на PHP и хорошо его знаю, моя жена — на Java, а друг — на ASP.Net. Разделение, конечно, условное — я, помимо прочего, делал маленький проект на J2EE, с ASP.Net познакомился, когда для Шаропоинта делал фронтенд одной CRM, не говоря про десктопный дотнет, а про PHP вообще молчу — кто из вебовцев не писал простейшие серверно-динамические страницы на нем? Ну так вот, все весьма отстойно.
PHP как язык убивает. Ни лямбд, ни метаданных, нихера. Библиотеки убогие. Красиво на нем не попишешь. Зато он очень прост. И работать его можно заставить хоть на роутере, хоть на Raspberry Pi, хоть на телефоне — LAMPочка же. В общем, Си от веба (только не думайте, что он чисто процедурный — классы там тоже есть). Классический хостинг LAMP стоит, опять же, сильно дешевле. Далее, когда надо что-то очень быстро и просто имплементировать, равных ему нет.
Java, как язык, лучше. Строгое типизирование, аннотации и пр. Промышленный стандарт во многих отраслях, как-никак. Но, боже, дурак тот, кто сводит Java к языку. С ним не столько программировать надо, сколько сисадминить. Там сервер сервера конфигом подгоняет. Инструменты просто адски сложные для нуба. Задеплоить можно пытаться два дня. Мавены-шмавены всякие. А, и еще — они там все ООПнутые на всю башку. Я сам фанат ООП, и именно поэтому хорошо знаю, когда его НЕ надо применять. А они применяют. Все эти анекдоты про колстек в сто уровней или про фабрику классов, порождающую синглтоны для инстанцирования фасадов, помните? ЭТО НЕ АНЕКДОТЫ.
C#, как язык, это самое лучшее. Это просто рай. А FCL (стандартная библиотека классов) — это недосягаемый образец для подражания другим библиотекописателям. Но — это Микрософт. Это Виндовс. Это IIS. Или имейтесь в полный рост с моно, особенно, если в хостинге работают специалисты из солнечной Индии. Даже под винду настраивать тоже многое надо, но не все так сурово, как с Java.
Исходя из требования "как можно быстрее получить результат", я бы порекомендовал... PHP с HTML-темплитами!
Клиенты. Однозначно нужна jQuery (с ней все просто — на голом Javascript полазаете по DOM'у и сразу поймете, зачем нужен $, обертка селекторов). AJAX, само собой, его тоже на jQuery лучше делать. Голый CSS3 (без LESS — пока вы поймете, где его правильно применять, он уже в стандарт войдет). Очень советую jQuery-плагины — не надо изобретать велосипед, чаще всего он уже сделан. Для шаблонирования (представления объектов и коллекций в AJAX-ответах от сервера) используйте Mustache. Bootstrap постоянно глючит с jQuery UI, я бы избегал на первых порах.
В общем, как-то так. Простота — залог здоровья. Главное — контроль над всеми компонентами. И готовьтесь начать ненавидеть осла!
Здравствуйте, Аноним, Вы писали:
А>У меня большой опыт программирования, но не веб. На веб только общее знакомство с HTML, CSS, JS.
А>На чем бы вы порекомендовали мне начать веб-разработку, так, чтобы как можно быстрее получить результат, чтобы это было не слишком сложно в изучении (для опытного программиста), и чтобы сайт получился плюс-минус на современном уровне ("responsive", "reactive" или что-то такое)? Проект свой собственный, так что ограничений нет. Поскольку у меня есть опыт и общая эрудиция в программировании, язык тоже может быть любой, хоть Хаскель. Главное — эффективность и удобство.
jQuery простой как стихи Есенина, запоминается на ура.
По мне так не стоит бросаться в вещи типа bootstrap и подобные запилы,
а начинать с фундамента.
В броузере JS DOM/jQuery/CSS/HTML
Для серверной стороны для старта отлично подходят python/django, RoR.
Всё вполне изучается за пару дней-неделю.
Здравствуйте, Аноним, Вы писали:
А>У меня большой опыт программирования, но не веб. На веб только общее знакомство с HTML, CSS, JS.
HTML5 перекрывает все что нужно, эффект от использования jQuery очевиден только если есть плугин
супер качественно реализующий нужную вам фичу, например жутко красивые и навороченные 3D графики,
в противном случае плюсы от юзания джквери мне лично непонятны.
PHP 5 отлично подходит для средних проектов на дешевых хостингах!
(сейчас там появилось множество классных низкоуровневых фишек ранее доступных только для перл и С как cgi, типа фильтров на потоки,
кроме того повсеместно даже на дешевых хостингах появились встроенных в хостинг на низком уровне кодировщики исходного кода,
уровень намного круче кул-хацкеров,
вполне защищает, имхо на пхп можно шароварить, есть примеры серьезных софтин по пол-года серьезные хакеры не могут занулить (хотя на форумах
клянутся, что сломают тот же ион куб за 5 мин, но на практике получаетя другое...),
потом ломают конечно, но 6м это серьезная фора на уровне эс-протекторов всяких)
Python? х-м-м-м-м вот бьюсь пытаясь поставить на шаредном хостинге математическую
библиотеку NumPy — раз тут есть знатоки Py может объясните как?! доступа по терминалу нет!
Аналогичную установку для perl на том же хостинге осилил с нуля за 1 час! Но в перле либы такое впечатление все
заброшены и устарели, как бы забытый язык и никто им не занимается... так что все же PHP 5
L>Python? х-м-м-м-м вот бьюсь пытаясь поставить на шаредном хостинге математическую L>библиотеку NumPy — раз тут есть знатоки Py может объясните как?! доступа по терминалу нет!
Здравствуйте, loginx, Вы писали:
L>Python? х-м-м-м-м вот бьюсь пытаясь поставить на шаредном хостинге математическую L>библиотеку NumPy — раз тут есть знатоки Py может объясните как?! доступа по терминалу нет!
Что-то с ходу вопроса непонял.
root@localhost g]# yum info numpy
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirror.majorhost.net
* elrepo: elrepo.reloumirrors.net
* epel: mirror.serverbeheren.nl
* extras: mirror.majorhost.net
* updates: centosb6.centos.org
Available Packages
Name : numpy
Arch : x86_64
Version : 1.4.1
Release : 9.el6
Size : 2.3 M
Repo : base
Summary : A fast multidimensional array facility for Python
URL : http://numeric.scipy.org/
License : BSD
Description : NumPy is a general-purpose array-processing package designed to
: efficiently manipulate large multi-dimensional arrays of arbitrary
: records without sacrificing too much speed for small
: multi-dimensional arrays. NumPy is built on the Numeric code base
: and adds features introduced by numarray as well as an extended
: C-API and the ability to create arrays of arbitrary type.
:
: There are also basic facilities for discrete fourier transform,
: basic linear algebra and random number generation. Also included
: in this package is a version of f2py that works properly with
: NumPy.
Здравствуйте, smeeld, Вы писали:
S> то есть yum -y install ...
и в каком месте набрать это?
доступа к командной строке юникса на шаред хостинге у меня нет!
ну допустим я сам себе поставлю шел... тогда нужно найти где лежит этот yum?
также не факт что есть права на его запуск... и не факт что запушенный с моими
правами он сможет что-то там откуда-то скачать, компилировать, куда-то загрузить
и тд..
Здравствуйте, Sharov, Вы писали:
S>Здравствуйте, loginx, Вы писали:
L>>Python? х-м-м-м-м вот бьюсь пытаясь поставить на шаредном хостинге математическую L>>библиотеку NumPy — раз тут есть знатоки Py может объясните как?! доступа по терминалу нет!
S>Обратитесь к хостеру с этой проблемой.
хостер, поддержка тупая, говорит невозможно, тоже она говорила и про библиотеки перла,
однако я скачал исходники, нащел где gcc, скомпилил, положил куда надо и заработало...
так что от сапорта хостинга толку мало... Можн конечно поискать хостинг где это сделают
да еще и бесплатно для питона — может подскажите такого хостера? И еще хотелось
бы чтобы это был не Вася Пупкин с одним компьютером, а что-то могучее которое не исчезнет
завтра в никуда...
Re[2]: На чем разрабатывать?
От:
Аноним
Дата:
04.01.14 20:18
Оценка:
Здравствуйте, loginx, Вы писали:
L>HTML5 перекрывает все что нужно, эффект от использования jQuery очевиден только если есть плугин L>супер качественно реализующий нужную вам фичу, например жутко красивые и навороченные 3D графики, L>в противном случае плюсы от юзания джквери мне лично непонятны.
Во-первых, перекрывает не HTML5, а CSS3, и не весь jQuery, а только его эффекты. Даже если взять одни селекторы (особенно коллекций, а не единичных элементов), голый js с его императивностью быстро надоест. Во-вторых, до сих пор элементарнейшие вещи типа кастомизации скролбара или собственного контекстного меню ни в HTML5, ни в CSS3 не поддерживаются. Какие уж тут графики.
кстати вот как раз пример к вопросу на чем разрабатывать!
если использование инструмента разработки требует по каждому чиху
вмешательство тех поддержки и скорее всего высокого уровня
так как девушкам цитирующим ФАК (нач. уровень тех.под.) не позволят все подряд инсталить
по первому требованию юзера, то это негодный инструмент тем более топик стартер только начинает...
Здравствуйте, loginx, Вы писали:
L>Здравствуйте, smeeld, Вы писали:
L>Можете подробнее по шагм показть инструкцию?
Может Вы тролите? Если нет, то у Вас там не линукс?
Если и это не так, то просто из шелла под рутом, а шелл есть в любом
*nix, набираете yum install numpy, или apt-get install num-не знаю как точно
называется numpy в debian-based дистрах, нет сейчас под рукой.
Доступ к шеллу должен быть в веб-админке, которую выдаёт провайдер.
Здравствуйте, smeeld, Вы писали:
S>Доступ к шеллу должен быть в веб-админке, которую выдаёт провайдер.
реальная жизнь такова что у меня 3 разных хостера сейчас под обычный
недорогой хостинг — нигде нет!
Вот допустим топик стартер выберет питон — сразу все недорогие хостинги
отпадают, там нет в веб-админке доступа к шеллу. Значит огромное число
мелких нетребовательных заказчиков теряется. Остаются те кто готов платить за сервер
и его администрирование, защиту от вирусов и ддоса и тд. То есть мало заказчиков
и наверняка весьма требовательных. А топик стартер только начинает!
А если выберет PHP или Perl то таких проблем не будет, так как библиотеки
(а как без них?) ставяться без шелла из админки. Вот это я хотел сказать
всем предыдущим.
Здравствуйте, loginx, Вы писали:
L>Здравствуйте, smeeld, Вы писали:
L>А если выберет PHP или Perl то таких проблем не будет, так как библиотеки L>(а как без них?) ставяться без шелла из админки. Вот это я хотел сказать L>всем предыдущим.
Как Вы управляете сервером? Хоть какую-то панель управления Вам должны предоставить.
Хоть порт ssh открыть и отдать закрытый ключ доступа, вообще проблемы не понял:
у Вас нет административного доступа к своему серваку на хостинге? Такое бывает?
Здравствуйте, smeeld, Вы писали:
S>у Вас нет административного доступа к своему серваку на хостинге? Такое бывает?
если речь идет о shared hosting — бывает, доступа нет
если речь идет о выделенном арендованном сервере — доступ есть
Изначально название топика — На чем разрабатывать?
Итого имеем — если на Python то минимум нужен арендованный сервер примерно за 100 баксов
в месяц и знание отличное юникса или наемный администратор еще за 100..200 баксов в месяц, так?
(или vps+знания или разовые услуги админа)
Если выбираем php/perl то нужно на хостинг примерно $4..7 и больше ничего.
Если только php то нужно 0 (НОЛЬ) ибо на многих бесплатных хостингах php работает удовлетворительно и весьма быстро (да-да-да).
Денвер на виндах — имхо не лучший выход, у меня код php на нем работает в 10 (ДЕСЯТЬ) раз медленнее чем на фришном хостингер.ру (там моща).
Из-за этого под виндами просто нет времени столько ждать отработки скриптов...(питон и перл, не знаю не сравнивал)
---
после разработки будет что? продажи? кому? только power users с собственными серверами? Или всем подряд на free или shared hosting?
Если выбрать питон или яву то покупатели только power users, массовый рынок будет закрыт... Так что зависит от целей топик стартера!
Re[4]: На чем разрабатывать?
От:
Аноним
Дата:
05.01.14 00:11
Оценка:
Здравствуйте, loginx, Вы писали:
>>> CSS3 не поддерживаются. Какие уж тут графики. L>то что не поддерживается скорее всего нафиг не нужно в реал лайф.
Это контекстное меню не нужно IRL?! Ну, на сайте газеты может быть. Пока к ней редактор комментов не прикрутили ))
Что касается кастомизации скролбара, по стандарту нативные скролбары себя ведут ужасно. Эвенты файрят, например, но не от псевдоэлемента div:scrollbar какого-нибудь (как по уму делать надо было), а прямо от хозяина скроллбара, да так, что не отличишь, по скролбару кликнули или еще куда. Допустим, я слазил в кишки к jQuery UI и пофиксил там раз и навсегда, запретив обрабатывать скролбары, но дешевле, по-моему, было бы кастомный скроллбар приделать. Это был пример, когда кастомное лучше браузерно-нативного.
L>(утрирую, но отвергать инструмент потому что в не нет кастомизации скорлинга — абсурд)
Никто не отвергает HTML5/CSS3, его дополняют jQuery/jQuery UI.
Здравствуйте, smeeld, Вы писали:
S>Как Вы управляете сервером? Хоть какую-то панель управления Вам должны предоставить. S>Хоть порт ssh открыть и отдать закрытый ключ доступа, вообще проблемы не понял: S>у Вас нет административного доступа к своему серваку на хостинге? Такое бывает?
Обычно дается Web-мордочка, через которую можно перезапустить сервер, подправить .htaccess, выбрать версию того же php...
Пользователь, из под которого исполняется php код, тоже сильно ограничен в правах.
У хостера это документировано.
Полный доступ с ssh идет за отдельные деньги и не всем нужен.
_____________________
С уважением,
Stanislav V. Zudin