Существует ли язык высокого уровня для Интернета? - PullRequest
23 голосов
/ 30 августа 2009

Преамбула

Для создания динамических веб-сайтов нам необходимо освоить как минимум четыре языка:

  • HTML для структуры веб-страниц
  • CSS для верстки и дизайна
  • JavaScript для интерактивности
  • Язык для бизнес-правил или динамически управляемых данных

Кроме того, есть SQL для постоянного хранения, Memcache для сеансов и кэширования, API для многих различных систем управления контентом. Мы также должны рассмотреть возможность взаимодействия с OpenID, Facebook, Twitter, OpenSocial при создании веб-приложения, чтобы это было интересно.

В общем, это полный беспорядок!

Если принять во внимание две цели:

  • Обучение детей веб-разработке
  • Сохранение продуктивности в команде

Вопрос

Какие существуют системы высокого уровня, объединяющие HTML + CSS + Javascript + ( Вставьте сюда язык высокого уровня , предпочтительно PHP)?


Фон

  1. Я - инженер-программист с более чем 15-летним опытом работы руководителем проекта и разработчиком таких технологий, как Broadvision, Autonomy, Enterprise Java и Oracle.

В последние годы я сосредоточился на разработке веб-сайтов сообщества, используя Drupal или PHP-фреймворки, такие как CakePHP. Я люблю веб-разработку и наслаждаюсь несоответствием импеданса между технологиями. Тем не менее, неизбежный вывод, к которому я прихожу: должен быть лучший путь .

  1. Я отец двух сыновей (13 и 9), и хотя я не хочу, чтобы они становились программистами, я бы хотел, чтобы они воспринимали компьютеры больше, чем игровые машины. Мне нравится мотивировать их немного повозиться с веб-разработкой, чтобы выразить себя.

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

Ответы [ 19 ]

2 голосов
/ 30 августа 2009

Я думаю, что проблема с веб-разработкой заключается в том, что она изначально не была разработана для того, что используется сегодня. Мы создаем многофункциональные клиентские приложения в браузере с использованием HTML + CSS + JavaScript и любой серверной технологии, которая их генерирует. Да, это работает, но это боль, особенно с теми раздражающими браузерными несовместимостями. Существование Flash и Silverlight доказывает это. Они позволяют вам создавать ваше приложение с единой технологией, все еще внутри браузера. Однако недостатки использования плагина для вашего контента очевидны.

2 голосов
/ 28 марта 2012

Проверьте Opa: http://opalang.org/

Это перспективная технология веб-разработки. Это выглядит довольно многообещающе. За последние пару лет я много занимался веб-разработкой, и если бы мне нужно было предсказать, какой новый каркас / язык / технология станет основным способом разработки веб-сайтов через ~ 5-10 лет, я бы сказал, будет Опа.

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

1 голос
/ 31 августа 2009

Мультидисциплинарная природа веб-разработки - это одна из вещей, от которой приятно работать, , особенно в командной среде.

Чтобы хорошо работать в команде, вы, естественно, объединяетесь с группой людей с широким кругом знаний, от UI / графиков до администраторов баз данных и системных администраторов. Даже в пределах одного уровня группы (например, программисты внутреннего уровня) каждый человек, как правило, специализируется на другом наборе, например, некоторые люди могут иметь больший опыт работы с пользовательским интерфейсом, другие - с данными.

Я бы взял этот вариант в любой день, по сравнению с работой в комнате из 10 Java-программистов, работающих над каким-то промежуточным программным обеспечением.

1 голос
/ 31 августа 2009

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

Основные приоритеты: (без определенного заказа)

  • Развитие навыков решения проблем
  • Будь продуктивным в команде

Далее:

  • Базовые навыки программирования (PHP, Python и т. Д.)

После того, как они узнают, как решать проблемы как индивидуально, так и в команде, они могут перейти к таким особенностям, как:

  • Модель клиент / сервер
  • Разметка (HTML, XHTML, XML и т. Д.)
  • Стиль (CSS)
  • Сценарии на стороне клиента (JavaScript / jQuery)
  • Серверные скрипты (PHP, Ruby и т. Д.)

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

С этого момента вы можете начать вводить такие вещи, как файловый ввод-вывод и базы данных.

Это даст им достаточно полный набор навыков. Отсюда они действительно могут начать учиться.

Кроме того, для создания чего-либо интересного, возможно, придется иметь дело с SQL для постоянного хранения, Memcache для сессий и кэширования, API-интерфейсами систем управления контентом, OpenID, Facebook, Twitter, OpenSocial и т. Д.

Это целые темы сами по себе, вы не можете откусить их всех одним куском. Особенно, если вы берете этих людей с 0. Прежде чем вы сможете создать что-то интересное, вы должны научиться строить что-то мирское.

HTML5 , вероятно, будет больше в духе того, что вы ищете, чем Flash или Silverlight, но это еще не совсем здесь ... Хотя поддержка строится.

Детские шаги, Олав - если бы это была Матрица , ты мог бы загрузить всю эту информацию за один выстрел, но мы еще не там ... -;)

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

Ну, это мои 2 цента

1 голос
/ 30 августа 2009

Многие технологии освоить не очень хорошая вещь. Нам нужен Visual Basic для Интернета, независимо от того, что говорят элиты.

1 голос
/ 31 августа 2009

Вам нужны разные языки для разных целей. В большинстве веб-приложений на самом деле происходит совсем немного, поэтому вам нужны разные языки и решения.

Если целью является объединение на одном языке, вы можете это сделать. Вы можете использовать Javascript на сервере, а затем создавать страницы с помощью document.createElement() и применять стили к ним непосредственно в свойстве styles. А на сервере храните ваши данные непосредственно в файлах с Javascript.

Очевидно, это не сработает. HTML не идеален, но есть причина, по которой он настолько повсеместен - он делает то, что делает просто и хорошо. CSS является одновременно запутанным и слишком упрощенным, но основная идея определения переопределяемых правил, чтобы выразить ваш дизайн, является разумной. И иногда бывает сложно понять SQL, но выражение запросов к базе данных таким способом выразительно и на самом деле работает довольно хорошо.

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

В вашем следующем проекте попробуйте упростить: вам действительно нужна база данных? Можете ли вы объединить слои представления для упрощения, используя что-то вроде GWT, Applets, Flash или .NET? Вам действительно нужно показывать свой контент в браузере (который представляет сложности CSS, HTML и Javascript), или вы можете просто написать приложение?

0 голосов
/ 31 августа 2009

Если вы просто хотите научить их писать динамические веб-сайты, ознакомьтесь с руководством по HTML на w3schools.com и, как только они это сделают, найдите себе приличную таблицу стилей, которую они могут включить, и настройте их на PHP. Это заставит их работать как хобби, и если они захотят сделать больше, они могут начать собирать вместе дополнительные знания, такие как CSS и JavaScript.

0 голосов
/ 07 августа 2013

angularjs может быть вариантом. он предназначен для одностраничных приложений и работает в стеке nodejs и выполняет "магию" javascript-шаблона.

пример (шаблон / код): Он связывает (через auto-Generated-client-side-js) значение из поля ввода с заголовком (h1). Если вы введете что-то в поле ввода, текст в заголовке будет обновлен. И вам не нужно писать frontend-js.

  <input type="text" ng-model="yourName" placeholder="Enter a name here">
  <h1>Hello {{yourName}}!</h1>
0 голосов
/ 14 сентября 2009

Ruby on Rails - это отличный способ объединить все это, но для CSS это оставляет вас в покое (хотя, возможно, есть несколько фреймворков для RoR, которые делают CSS устаревшим, но тогда у вас есть другой язык разметки, я подумайте), и вам все еще нужен Javascript (хотя он действительно для вас пишет много Javascript и весь код БД).

С другой стороны, о ваших детях: программирование для программистов. В воскресенье днем, чтобы собрать что-то за несколько часов, вам нужно будет знать структуру, и купить несколько плагинов, и все будет готово и без особых усилий. Что-то вроде Drupal или Joomla, где они продают шаблоны (для Joomla вы можете купить пачки сотен) и плагины, чтобы делать разные вещи. И когда это не удается, ваши дети, вероятно, должны знать, как перейти на ODesk и потерять 100 долларов, чтобы что-то сделать в вашей среде. Обучение программированию хорошо, если вы хотите стать программистом. В противном случае лучше всего узнать, что вам нужно, чтобы нанять хороших программистов или купить хорошие предопределенные компоненты, и иметь на это деньги.

Последнее замечание о детях: пусть они играют в видеоигры. Это лучшее обучение, которое они могут получить за то, что ждет в будущем компьютерную сторону. Видеоигры позволяют вам исследовать компьютер, играть в него и отдыхать. Как только вы это сделаете, изучение HTML, CSS, Javascript и некоторых стеков приложений - это просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...