Хочется вместе кашу сварить

Поработал на дядю несколько лет в качестве веб-разработчика, да вот и обрыдло. Хочется не то чтобы попробовать, но и закрепиться на рынке услуг, а заодно и развеять некоторые представления о разработке на PHP. :)

Область действий — разработка сайтов и интранет-систем с веб-интерфейсом, основной же упор на то, чтобы решения сохраняли максимальную повторную используемость. Это вместе должно привести к базису, на котором по-настоящему качественные вещи можно будет делать в разумные, с точки зрения заказчиков, сроки.

Одна трудность, которую я вижу — это поиск заказов в то время, когда у тебя практически нет портфолио. Собственно затем я и пишу данный пост: быть может, с кем-либо из уважаемого All можно будет скооперироваться, естественно, небезвозмездно.

Вторая трудность — это то, что работы по «маленьким доработкам» (=большие багфиксы), которых большинство, я просто не в состоянии брать на себя. У меня, да и у команды, которая будет всенепременно собираться, если будет потребность в ресурсах (и если я смогу обеспечить их работой), вряд ли найдется столько нервов и здоровья. Поэтому приходится сознательно ограничить себя до разработки целостных систем «с нуля», учитывая изменчивость требований, за которой надо поспевать, это будет прогнозированнее всего.

Кратко о разработке. Планируется взять на вооружение Symfony и писать проекты именно с ее использованием. Категорически не принимать участия в создании очередных велосипедов и прочей вакханалии. БОльшую часть наработок, кроме всего, выкладывать в открытый доступ, а также тесно сотрудничать с разработчиками Symfony в вылове багов и развитии проекта. Поскольку на тяжеловесные методологии у меня ресурсов в обозримом будущем не будет, планируется ориентация на повсеместное использование легковесных технологий, о которых здесь знают не понаслышке.

Сейчас — стадия поиска заказов и партнеров. Поэтому прошу у уважаемого All, буде окажется возможность помочь, не пройти мимо.

Проясняющие вопросы прошу задавать здесь, предложения сбрасывать на электропочту drwxrwxr.x [at] gmail.com.

Спасибо.

👍НравитсяПонравилось0
В избранноеВ избранном0
Подписаться на автора
LinkedIn



Підписуйтесь: Soundcloud | Google Podcast | YouTube

26 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Ярослав, по-моему, предложение не верно в корне. PHP — лишь инструмент. Надо делать сайты, проекты и все такое не на PHP, а на подходящем для данных условии языке/платформе/фреймворке. Домашнюю страницу можно сделать на PHP, а поисковый движок на Java или C/C++. Но есть ли смысл делать наоборот? А ты (ничего, что я на «ты»?) помимо языка, еще и фреймворком ограничиваешь все удовольствие (: На счет шаблонизаторов. IMO, PHP — это уже шаблонизатор (:

теги съелись: (

[% BLOCK bold %]<b>[% content %]</b>[% END %]И пишем:[% WRAPPER bold %]Я буду жирной![% END %]

Сравниваем синтаксис Смарти и Темплейт тулкита: Я должен сказать, что Смарти довольно не плохой шаблонизатор. Но, он выглядит ограниченным в сравнении с Темплейт-тулкитом. Как это заведено, интерфейсы и принцип работы у шаблонизаторов с перкомпиляцией шаблонов в разных языках похожи. Но, если сравнить ТТ и Smarty — заметно, то ТТ превосходит Смарти по удобству работы и функциональности. Конечно, у ТТ есть свои тараканы, но я научился жить с ними в мире:) Ну, первая незначительная вещь, которая бросается в глаза — это инициализация переменной: S: {assign var= «foo» value= "

$foo+$bar

" } TT: [% SET foo = foo + bar %] или [%foo = foo + bar %] Мелочь, а не приятно. Вторая мелочь — это то, что Смарти называет конструкции, такие как {if} {else} — функциями, когда на самом деле эти конструкции должны называться конструкциями. Мне непонятно сущестование в Смарти модификаторов, типа {$articleTitle|lower|truncate: 30|spacify}. Вроде бы бОльшую часть этих модификаторов можно заменить CSSом, но в принципе они могут быть удобными для тех, кто не знает CSS. Пользовательские функции в ТТ тоже есть, но в отличии от Смарти, они реализуются на самом ТТ. Синтаксиса ТТ вполне хватает чтобы вывести список опций в селекте или картинку, не прибегая к использованию Перла. В Смарти пользовательские функции реализуются средствами ПХП. Не знаю, насколько это хорошо, но такой подход мне не особо нравится. В ТТ есть намного больше удобных конструкций. Например такая как WRAPPER: Объявляем блок (это функция шаблона) [% BLOCK bold %] [% content %] [% END %] И пишем: [% WRAPPER bold %] Я буду жирной! [% END %] Строчка «Я буду жирной!» будет на месте [% content %]. Врепперы очень удобны при использовании сложных повторяющихся элементов навигации и дизайна. Во все блоки можно, также, передавать и другие переменные. А среди конструкций управления, в ТТ есть: IF / UNLESS / ELSIF / ELSESWITCH / CASEWHILEFOREACHTRY / THROW / CATCH / FINALКак и в Смарти, в ТТ шаблоны можно вставлять блоки кода на Перле. Но, это уже плохой стиль.:). Что касается плагинов, так в ТТ они тоже есть. Пародии на плагины можно писать и в функциональном стиле. Но, все же большее количество плагинов пишется с использованием ОО подхода. Конечно, шаблонизатор должен быть ограниченным в функциональности. Он не должен сам выполнять низкоуровневые действия, как например, непосредственная выборка записей из базы данных (блин, никогда бы не подумал, что назову это низкоуровневой функцией:)) Все это должно быть реализовано с помощью модели. Шаблон должен лишь манипулировать методами модели. Именно поэтому, языку шаблонизатора не нужно иметь сверх возможностей. ТТ сам по себе ограничен в низкоуровневых функциях и больше направлен на удобную работу с шаблонами. Смарти, по сравнению с ТТ кажется довольно ограниченным шаблонизатором. Хотя, в принципе, его могли бы и сделать точно такой же функциональности. Почитайте про ТТ на сайте http://template-toolkit.ru или http://template-toolkit.org, и, возможно Вы почерпнете несколько идей для создания новых плагинов для Смарти. В принципе, если сравнивать работу php + Smarty и pure php — так мне более потенциальным кажется первый вариант. Все таки Смарти — это довольно качественный шаблонизатор. ... как-то нужно выкроить время, и сравнить эти шаблонизаторы по скорости.

2. Самой популярной концепцией созданий сайтов стала MVC. Не все получается хранить в шаблонах, написанных на довольно ограниченном Smarty. И очень часто возникает соблазн нарушить эту концепцию, и вставить в шаблон пару строчек модели.

Чем ограничен Smarty? И Вы же только что говорили, что на PHP не закончили ни одного проекта — как же Вы оцениваете Smarty никогда не поработав с ним? Например в нем можно писать плагины, если чего-то не хватает. Об этом Вы наверное не знали?

Кстати, в ВордПрессе, если я не ошибаюсь, не используется ни какого шаблонизатора, но все же АПИ контроллера разделено от шаблона и данных. И все это на чистом ПХП. Вот, почему я с уважением отношусь к вордпрессу в целом и к его архитектуре в частности.

Вы ошибаетесь. Как раз в Вордпрессе — мешанина из этой самой логики и представления.

Я не запрещаю всем писать на ПХП большие проекты:) Но, лично я думаю, что ПХП не подходит для больших проектов.

Спасибо, что дали разрешение: -) Если Вы думаете, что не подходит, не написав ни одного проекта на PHP — то это немного голословно.

Anycolor && all, Мне больше по душе Перл. Я не хочу начинать священную войну, хотя, должен признать что это очень веселое занятие:), поэтому сразу хочу обратить внимание на следующие материалы: Why Perl sucks? иК вопросу об ублюдочности PHPЯ сразу скажу, что я не закончил ни одного проекта на ПХП. Но, это не мешает мне интересоваться самим языком. Согласитесь, Перл и ПХП очень похожи. А популярные модули, например, такие как парсинг XLS, XML, YAML и т.д., формирование графики и работы с архивами имеют абсолютно идентичные интерфейсы. К примеру, когда я разбирался с модулем GD — модулем создания графики в Перле, у меня возникла проблема со сглаживанием файлов при уменьшении размера картинки. Я на шел решение в одном исходнике на PHP, просто копи-пастнув часть примера в свой скрипт:). А теперь о том, почему же я считаю, что ПХП не подходит для создания больших проектов. Конечно, это совсем не означает, что на нем невозможно писать хороших больших проектов:). И популярные сайты, например такие, как Хабра, доказывают что на ПХП действительно можно писать. Ровно то же доказывает и ЖЖ и xpoint.ru, написанный на Перле. Писать на ПХП «большие» проекты можно, но ПХП не подходит для больших проектов: 1. Мне не нравится скорость обновления версий ПХП. И несовместимости между старыми исходниками и новыми интерпретаторами. Если большой проект написан на ПХП 4, то вряд ли его будут переписывать на ПХП 5. Ведь это стоит огромной траты времени и денег. А ведь старый код, который стабильно работал на ПХП 4 — может вполне не стабильно работать на ПХП 5 или 6. 2. Самой популярной концепцией созданий сайтов стала MVC. Не все получается хранить в шаблонах, написанных на довольно ограниченном Smarty. И очень часто возникает соблазн нарушить эту концепцию, и вставить в шаблон пару строчек модели. В принципе, MVC реализуется на языке, который изначально был разработан для смешивания кода и представления. Это парадоксально, но все же оно как-то работает.:) Кстати, в ВордПрессе, если я не ошибаюсь, не используется ни какого шаблонизатора, но все же АПИ контроллера разделено от шаблона и данных. И все это на чистом ПХП. Вот, почему я с уважением отношусь к вордпрессу в целом и к его архитектуре в частности. В принципе, от самого языка сейчас мало что зависит. Любой язык в чем-то немного лучше другого, это и есть его особенность. Один язык проще изучить, на другом гибче писать, а у третьего ООП лучше. У ПХП есть свои достоинства и недостатки. Я не запрещаю всем писать на ПХП большие проекты:) Но, лично я думаю, что ПХП не подходит для больших проектов. Есть ризон, в будущем, обратить внимание на Питон. Красивый язык;)

Подходит ли ПХП для разработки сложных проектов. Единственное, что я видел нормального, сделаного РУКАМИ на ПХП — это форум punbb и wordpress.ПХП не подходит для создания сложных проэктов.

Смеялся и плакал, честное слово. Сразу видно, что Вы о PHP вообще ничего не знаете. Погуглите и посмотрите, какое ОГРОМНОЕ количество сложных проектов сделано на PHP, уж не говоря о количестве мелких. А вот если для Ваc punbb и wordpress верх совершенства в PHP, то как тут уже сказали — мне Вас очень жаль ибо это на мой взгляд одни из слабых работ с точки зрения программирования на PHP.Вот скажите чесно — Вы хоть один проект на PHP сделали, чтобы делать такие голословные заявления о том, что PHP не подходит для разработки сложных проектов?

php прекрасно подходит для разработки проектов любой сложности, если punbb и wordpress единственные достойные штучки-дрючки — то мне вас искренне жалько.

а может FFMPEG используют и в ус не дуют

скорее mencoder (или вначале FFMPEG, а потом, если оно не справится, mencoder)

Подходит ли ПХП для разработки сложных проектов. Единственное, что я видел нормального, сделаного РУКАМИ на ПХП — это форум punbb и wordpress.ПХП не подходит для создания сложных проэктов.

Я не программист, а предприниматель и в определенный момент времени столкнулся с тем, что нужно выбирать платформу для разработки...Net-чики кричат, что у них есть IDE, единый фреймворк, MSDN, в конце концов, коммерчески поддерживыемый стек технологий, Java девелоперы про их единое, кросс-платформенное чудо, есть любители альтернативы — от Perl до RoR.Реально все зависит от того, какой проект и для чего. PHP, Java и.Net единственные зрелые платформы с развитой экосистемой. Посмотрите на соц. феномены последнего времени — YouTube, Facebook, туева куча других. Написаны на PHP и ничего. Конечно, PHP — часто оболочка, за которой стоят еще C/C++ сервисы. Например, у YouTube наверное есть какой-то оптимизированный С код для конверсии файлов, а может FFMPEG используют и в ус не дуют.

Поработал на дядю несколько лет в качестве веб-разработчика, да вот и обрыдло.

Видать, плохой «дядя» был. А кто же платить будет?:) Здесь, по-моему, два варианта — либо самому становиться «дядей» и платить другим, либо искать большого и толстого тятьку в виде средней или большой компании, которой постоянно что-то надо, но нету своих рабочих рук. И который, к тому же, умеет хорошо ценить хорошую же работу.Сужу по своему опыту — такое еще бывает:)

Из оригинального поста:

Поработал на дядю несколько лет в качестве веб-разработчика, да вот и обрыдло.

Ярослав, а на какого дядю ты работал, в смысле — насколько большая была компания? Я думаю, что прежде чем начинать свое дело, необходимо поработать в большой компании, чтобы последить за решениями менеджмента и тимлидов. Чтобы проследить за тем, как планируются работа над проектами и т.д. и т.п. Достаточно ли у тебя такого опыта?

Не вижу никакой разницы. Над чужими дольше работать, но и денег за это больше взять.

— У нас тут небольшая трудность возникла с сайтом, здесь совсем немного работы, а своего вебмастера мы недавно уволили. Но работы немного, возьметесь? — Ну давайте, посмотрим, что к чему. [...] — Знаете, на самом деле ваша «небольшая» проблема — это верхушка айсберга. На самом деле три подсистемы нужно переписать полностью, так как на ваши объемы данных они явно не рассчитывались. Соответственно и делать это надо дольше, учтите, что три подсистемы надо перепроектировать, но проблема исчезнет.— Сколько это по времени и по деньгам? — По времени X, по деньгам Y.— Что? Какое Y? Какое X? Нам надо, чтобы через три дня все работало как надо, а о Y, это вы шутить изволите, мы за разработку столько не заплатили. Мы тут простенькую доработку заказали, а вы мозги пудрить изволите.Заказчик идет, естественно, к конторе, берущейся «за все», там втыкают кривой костыль.Но я не хочу такой работы в своем портфолио. Поэтому предпочитаю заказы, где я могу отвечать за качество кода от его начала и до конца.

Ну, э, есть разница между фиксами своих багов и фиксами чужих.

Не вижу никакой разницы. Над чужими дольше работать, но и денег за это больше взять.

А здоровья не хватает работать над большими багфиксами, подаваемыми как «маленькие доработки» и оплачиваемые соответственно.

Это ваша задача как профессионала — правильно определить время, необходимое для багфиксов. И, соотвественно, высавить правильную цену за них.

Обычно слышимость объяснений о том, что на самом деле доработки не маленькие, ибо это по сути открывание банки с червями, равна нулю либо приближается к нему.

Дык, с людьми вообще работать нелегко. Все хотят заплатить меньше, а получить больше. Багфикс-небагфикс значения не имеет.

Если у вас не найдется нервов и здоровья для работы по «маленьким доработкам» (=большие багфиксы), которых большинство, то лично я как заказчик не стал бы с вами сотрудничать.

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

Если у вас не найдется нервов и здоровья для работы по «маленьким доработкам» (=большие багфиксы), которых большинство, то лично я как заказчик не стал бы с вами сотрудничать.

Соответственно руководитель и получает больше, и прав и обязанностей у него больше. Вот вам и новый дядя.

А я не предлагаю нового подхода к руководству. Ви чито, это святое.

А в чем разница при работе на дядю, и работе с Вами? Наверное только в том, что дядей будете вы:) Без руководителя ведь команды не бывает, всегда кто-то должен координировать работу команды, не так ли? Соответственно руководитель и получает больше, и прав и обязанностей у него больше. Вот вам и новый дядя.Кстати, так зарождались многие конторы.Так что я не вижу ничего новаторского в таком начинании.

Касательно портфолио. Одну работу можно будет «рассекретить» где-то через месяц.

2. Велосипеды... блин, как я ненавижу, когда слово «велосипед» применяется ко всем отраслям программирования... Веб программирование это самая молодая сфера. Сколько лет веб рпзрпботке в целом?

Велосипедизм — это движение, посвященное трате времени на создание в каждом проекте своего слоя абстракции БД, своей корзины для покупок с неизменным набором фич и с неизменным требованием сделать с нуля, своего кода для отсылки письма по форме обратной связи, на создание с нуля каталога продуктов.

А как это?©

А это так, что занимался интранет-продуктами, о которых не имею особого права рассказывать — не массовые они.

Но, как я могу доказать потенциальному заказчегу что я могу забабахать хороший сайт?

Например участием в разработке ДОУ.;) Я даю рекомендации и готов платить деньги за разработку.

Ярослав, Я не профессионал в веб-программировании. Это мое хобби, так что можно считать меня амматором. Но, за свою аматарскую жизнь я понял о веб программировании несколько вещей: 1. О портфолио: должно быть. Хоть какое-нибудь. Я тоже очень много страшных слов знаю, таких как perl, template-toolkit, XML: Parser: Expat, DBI, socket, а любимое мое слово — это демоны:) Но, как я могу доказать потенциальному заказчегу что я могу забабахать хороший сайт? Портфолио должно быть — иначе иди на работу, в команду, работай над проэктами и тогда можно смело говорить, что вот, я делал для этого сайта тото...2. Велосипеды... блин, как я ненавижу, когда слово «велосипед» применяется ко всем отраслям программирования... Веб программирование это самая молодая сфера. Сколько лет веб рпзрпботке в целом? Когда ее стали считать специальностью — лет 10 назад максимум! Сейчас какраз самое время создавать и придумывать свои креативные велосипеды. Количество кода чужого фреймворка должно быть минимальным. Собственно, почему бы не использовать дотНЕТ? Тогда количество велосипедов можно очень здорово сократить.Подходит ли ПХП для разработки сложных проектов. Единственное, что я видел нормального, сделаного РУКАМИ на ПХП — это форум punbb и wordpress. ПХП не подходит для создания сложных проэктов.3. Команда: Люди! Бросайте нафиг вашу работу собирайтесь вокруг человека, о котором никто не знает и мы будем что-то писать под какой-то фреймворк... Не получится, потому что те, кто шарит, уже и так в жизни хорошо устроились, а те кто не шарит..., а вот главный совет в этом посте: Создай сайт для веб разработчиков. У этого сайта должна быть идея (это самое сложное). Развивай форум, переманивай людей с других форумов, начни тесную переписку с «костяком» форума. Из этого вполне может вырости хорошая команда. Это сделать сложно и длительнно, но если получится — то у тебя будет команда, свой сайт которым не стыдно похвастаться и опыт создания комьюнити. Вот такой вот совет:)

Да, жжош, но инструмент правильный выбрал за основу. Симфония она правильному научит. И покажет и расскажет

Улібнуло:) Автору, удачи и успехов в начинаниях!

Прикольно, что отсутствует portfolio: -)

Поработал на дядю несколько лет в качестве веб-разработчика

практически нет портфолио

А как это?©У будь-якому випадку автору мабуть слід стати більш публічним в інтернеті (спробуйте пошукати в Гугл Yaroslav Fedevych чи Ярослав Федевич) — думаю це достатньо важливо як для замовників так і для партнерів.Мені особисто дивно коли у людей, що займаються веб-розробкою немає персональних сайтів etc, хоча така ситуація не рідкість.Зараз не так просто знайти хороших розробників, відповідно серед тих, хто їх шукає існує певна конкуренція. Особливих переваг поданої пропозиції над іншими, чесно кажучи, я не бачу.

Дядька хочет набить команду для создания CMS на все случаи жизни, ой... Не то. Намутить киллера Битрикса:)

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