Добрин Тинчев има почти 20 години опит в IT сектора, а близо четири от тях са преминали на позицията VP of Technology в Modeshift. Започва кариерата си като софтуерен инженер, впоследствие съосновава собствена tech компания и става главен технологичен директор (СТО). Всичко това обогатява портфолиото му с разнообразни знания и умения.
В тази публикация обаче фокусът пада върху .NET – технология, която е част от идентичността и продуктите на Modeshift, както и „звездата под прожекторите“ на предстоящата DEV.BG .NETworking Conference. Компанията, която е новатор в решенията, свързани с градската мобилност, е сред партньорите на събитието. Вземете си билет и разгледайте програмата тук.
Добрин, къде в работата ви намира приложение .NET?
В Modeshift .NET е в основата на нашата Transit Services Platform, която управлява акаунтово-базирани системи за събиране на тарифи в градския и междуградския транспорт по целия свят. Използването на C# и .NET Core за изграждането на back-end услуги гарантира висока производителност, сигурност и мащабируемост. Системата е разработена от самото начало като cloud-native решение върху Microsoft Azure, което прави интеграцията с различни Azure услуги изключително лесно и ефективно.
Нашите .NET-базирани сървиси предоставят прозрачност за работата на всички компоненти на платформата, включително:
- Мобилно приложение за закупуване на билети;
- Система за проследяване на превозни средства в реално време;
- Валидиране на билети на борда на градските превозни средства;
- Визуализация на информация за пристигащи автобуси по спирките;
- Други критични функционалности.
Какви предимства виждате в използването на .NET?
.NET предлага редица предимства, които го правят идеален за разработване на големи, облачно-базирани транспортни решения. Някои от тях са:
Крос-платформеност. С появата на .NET Core (сега част от .NET 5 и по-нови версии) платформата стана крос-платформена, което означава, че можете да разработвате и изпълнявате приложения на Linuxи Windows.
Висока производителност. .NET е оптимизиран за висока производителност, като поддържа асинхронно програмиране, JIT (Just-in-Time) компилация и други техники за подобряване на бързодействието.
Интеграция с Microsoft екосистемата. .NET се интегрира добре с други технологии на Microsoft, като например Azure, Data Lakes, Service Bus, SQL Server и други. Това го прави идеален избор за разработването на cloud-native софтуерни решения в екосистемата на Microsoft Azure.
Сигурност. .NET предлага вградени механизми за сигурност като управление на идентичността, криптиране и защита от атаки като SQL инжекции и XSS.
Голяма общност и поддръжка. .NET има голяма и активна общност от разработчици, което означава, че има много ресурси, форуми и библиотеки с отворен код, които могат да помогнат при решаването на проблеми.
Инструменти за разработка. Visual Studio и Visual Studio Code са мощни интегрирани среди за разработка (IDE), които предлагат богати функционалности за писане, дебъгване и тестване.
Поддръжка на различни типове приложения. .NET позволява разработката на различни типове приложения, включително уеб приложения, десктоп приложения, мобилни приложения, игри, IoT устройства и други.

А какви недостатъци има?
Въпреки че .NET е мощна платформа, има и някои предизвикателства.
Управление на паметта при високо натоварване. Въпреки че автоматичната GC (garbage collection) работи добре, при real-time приложения се налагат оптимизации.
Зависимост от Microsoft. .NET е разработен и поддържан основно от Microsoft, което може да създаде зависимост от техните решения и стратегии. Въпреки че .NET е с отворен код, някои разработчици се притесняват от потенциален завой в политика на гиганта.
Крива на обучение. За начинаещи разработчици .NET може да изглежда сложен поради богатството на функции, библиотеки и концепции (например асинхронно програмиране, LINQ, Entity Framework). Това може да затрудни бързото овладяване на платформата.
Ограничения в лицензите. Въпреки че .NET е с отворен код, някои инструменти и компоненти (като Visual Studio Enterprise) изискват платен лиценз, което може да увеличи разходите за разработка.
От гледна точка на представяне .NET изпъква ли пред framework-ове като Java?
Сравнението между .NET и Java е често обсъждана тема в света на разработката на софтуер, тъй като и двете платформи са широко използвани и предлагат сходни функции. Що се отнася до производителност, .NET и Java имат свои силни и слаби страни и резултатите често зависят от конкретния сценарий на използване.
Бързодействие. В много бенчмаркове .NET показва по-добро бързодействие от Java, особено в сценарии с високо натоварване и асинхронни операции. Това се дължи на оптимизациите в .NET runtime и по-ефективната работа на GC.
Стартиране на приложения. .NET приложенията (особено с AOT компилация) обикновено се стартират по-бързо от Java приложенията, които разчитат на JVM за инициализация.
Употреба на памет. .NET приложенията често използват по-малко памет в сравнение с Java приложенията, което ги прави подходящи за системи с ограничени ресурси.
Латентност. Java има напреднали GC алгоритми (като ZGC), които предлагат много ниска латентност. Това я прави подходяща за приложения, които изискват минимални закъснения.
Като цяло и двете технологии имат своите силни страни и в Modeshift винаги се стремим да използваме правилните инструменти за всеки проблем. Поради това освен широко разпространеният при нас .NET има някои нишови компоненти, в които Java също намира приложение.
Explore more
Какво трябва да знаят за Modeshift онези IT специалисти, които искат да станат част от компанията?
Modeshift е в етап на активно разширяване и търсим опитни C#/.NET разработчици, които искат да работят върху иновативни, облачно-базирани транспортни решения.
Ето няколко причини да се присъедините към нас:
Реално въздействие. Нашият софтуер се използва в обществените транспортни системи в САЩ и Европа, помагайки за по-добра достъпност и ефективност.
Модерен tech stack. Работим с .NET Core, Azure, ASP.NET, Docker, Service Fabric, както и с message brokers и real-time data processing.
Култура на иновации. Следваме най-добрите DevOps практики, като CI/CD, автоматизирано тестване и чиста архитектура.
Гъвкава работна среда. Предлагаме хибриден или изцяло дистанционен модел на работа, така че може да работите отвсякъде.
Кариера и развитие. Ще имате възможност да участвате в мащабен продукт, който подобрява градската мобилност в световен мащаб.
Ако искате да работите върху технологии от следващо поколение и да сте част от иновативен екип, който трансформира транспорта, Modeshift е мястото за вас.
Какво очакваш да видиш на DEV.BG .NETworking Conference през април?
Очаквам с нетърпение да видя новите тенденции в .NET, особено в областта на микросървисите, облачните архитектури и AI автоматизацията.
Интересуват ме и подобренията в .NET 10 (оптимизации на производителността, управление на паметта, cloud-native възможности), ролята на AI и машинното обучение в .NET (практическото приложение на ML.NET и AI в анализите за обществения транспорт), облачните технологии (оптимизация на разпределени системи и serverless .NET приложения).
Ще бъде страхотна възможност да се срещна с други .NET разработчици, да обсъдим технически предизвикателства и иновации, и да споделим идеи за бъдещето на обществения транспорт и cloud-native архитектурите. Ако и вие сте запалени по .NET – да се свържем.
Ако искате да бъдете част от MaaS (mobility as a service) решенията на Modeshift, разгледайте свободните позиции в профила на компанията в DEV.BG.