Найти в Дзене
IT future is already here

3 различных категории приложений

Оглавление

История

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

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

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

Многофункциональное приложение

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

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

Примерами программных стеков, принадлежащих к этим категориям, являются

  • Backend / Fullstack
  • Рубин на рельсах
  • Python & Django
  • Внешний интерфейс
  • Гэтсби.JS
  • Уголек

Typesafe / Корпоративное Приложение

Другая категория, которую я нашел полезной, - это приложение typesafe/enterprise. В зависимости от вашего домена, иногда вам нужен технический стек, который является твердым или корпоративным уровнем, иногда это включает в себя типовые безопасности вашей программы, корпоративную поддержку (например, Java и C#), а иногда и большой кадровый резерв. Этот вид программы в основном имеет дело с критически важными приложениями, что правильность является большой проблемой, и мы хотим, чтобы свести к минимуму человеческие ошибки при разработке приложений. Например, приложения, которые могут использовать такого рода программные стеки, являются приложениями финансовой системы, поскольку числа очень чувствительны, мы не хотим, чтобы наши приложения запускали литье типов здесь и там, мы хотим, чтобы наш программный стек имел прочную систему типов и, таким образом, мог избавить нас от многих ошибок, которые мы могли бы иметь, если мы собираемся использовать динамически типизированный язык.

Примерами программных стеков, принадлежащих к этим категориям, являются

  • Бэкэнд
  • Spring Java Framework
  • С++
  • C# .Net
  • Хаскель
  • Внешний интерфейс
  • Вяз
  • машинописный текст

Приложение С Высоким Параллелизмом

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

  • Эликсир
  • Вперед
  • Эрланг

Заключительные замечания

По своему опыту работы в нескольких доменах я понимаю, что иногда один домен может использовать несколько стеков технологий. Например, из того, что я слышал, Google использует Python, C++, Java, Go и JavaScript. Каждое программное обеспечение стеки имеют различную цель, от того, что я понимаю, это C++ и идти, например, используется в Google, где производительность является самым важным.

Поскольку я работал в основном в среде, подобной стартапу, я обнаружил, что вы можете иметь 1-2 программных стека, которые являются основными для ваших приложений, а затем использовать дополнительные программные стеки, если вам нужен очень конкретный случай использования, скажем, в приложениях с высокой параллельностью вы можете использовать Elixir. Во фронтенде, где вам нужна безопасность, Вы можете использовать Elm.