Що можна зробити на .NET
.NET — універсальна платформа. На одній мові C# і з тими самими бібліотеками можна створити:
- серверну частину сайтів, порталів і мобільних додатків;
- корпоративні системи для обліку заявок, документів, складу чи виробництва;
- фонові служби, які щоночі обмінюються даними з обліковими програмами чи банками;
- настільні програми для Windows, якими користуються співробітники в офісі;
- ігри та інтерактивні застосунки на Unity.
Бізнесу найчастіше потрібні саме перші три варіанти: системи, де багато бізнес-логіки, інтеграцій і користувачів з різними правами.
Переваги C# і .NET
- Строга й виразна мова. C# ловить багато помилок ще до запуску, а сучасні можливості мови дозволяють писати коротко і зрозуміло.
- Висока швидкість. Сучасна .NET працює швидко й ефективно використовує ресурси сервера, що помітно на великому навантаженні.
- Природна інтеграція з Microsoft. Вхід через корпоративні облікові записи, Azure, Microsoft 365, Excel-звіти — усе це підключається стандартними засобами.
- Зручні інструменти. Середовища розробки та налагодження для .NET одні з найзручніших, що прискорює пошук помилок.
- Передбачувані релізи. Microsoft випускає нові версії за чітким графіком і заздалегідь повідомляє, скільки триватиме підтримка кожної.
Обмеження, про які варто знати
- Спадок .NET Framework. Багато систем написані на старій платформі, яка працює лише на Windows. Перенести їх на сучасну .NET можна, але деякі технології доведеться замінити.
- Ліцензії на супутні продукти. Сама .NET безкоштовна, але якщо проєкт використовує платну базу даних чи серверну ОС від Microsoft, ці витрати треба закладати.
- Менше готових рішень для типових сайтів. Для контентного сайту чи магазину на PHP набагато більше готових систем і модулів, тож на .NET такий проєкт часто обходиться дорожче.
- Регулярні оновлення. Версії зі стандартною підтримкою живуть недовго, тому проєкт треба планово переводити на нові версії.
Коли краще обрати інше
Якщо компанія не прив’язана до продуктів Microsoft, а система велика й довговічна, рівноцінною альтернативою буде Java — вибір між ними часто залежить від наявної команди та інфраструктури. Для невеликого сайту, де важливо швидко запуститися і легко знайти підрядника на підтримку, практичніші PHP і готові CMS.
.NET Framework і сучасна .NET: у чому різниця
Це питання ставлять найчастіше. Колись була лише .NET Framework — платформа для Windows. Вона досі працює і отримує виправлення безпеки, але нові можливості в неї вже не додаються.
Сучасна .NET (раніше називалася .NET Core) — кросплатформна, з відкритим кодом і значно швидша. Саме на неї варто переходити. Перенесення буває простим, якщо проєкт використовує стандартні бібліотеки, і складним, якщо в ньому є старі веб-форми чи технології, яких у новій платформі немає. Ми спершу оцінюємо, що з проєкту переноситься автоматично, а що треба переписати, і переносимо систему частинами. Загальний підхід до таких проєктів описано на сторінці модернізації застарілих систем.
Веб, CMS і хмара
Для веб-проєктів на .NET є кілька шляхів. Для сайту з великою кількістю контенту, який редагують маркетологи, ми використовуємо Umbraco — систему керування на .NET. Для сервісів, кабінетів і API — ASP.NET Core.
.NET-застосунки добре працюють в Azure: базах даних, черзі повідомлень, сховищах файлів і функціях, що запускаються за подією. Якщо інфраструктура компанії в хмарі Microsoft, налаштуємо і її — детальніше на сторінці хмарної інфраструктури та Azure.
Програми для співробітників на Windows
У багатьох компаніях досі працюють настільні програми на C#: каси, програми для складу, робочі місця операторів, утиліти для друку етикеток. Їх часто писав колись один розробник, і тепер ніхто не наважується їх чіпати.
Ми допомагаємо з такими програмами двома способами. Можна доопрацювати і стабілізувати наявну програму: оновити платформу, виправити помилки, додати обмін з новою обліковою системою. А можна поступово перенести функції у веб-інтерфейс, який відкривається з будь-якого комп’ютера без встановлення. Що вигідніше, залежить від того, наскільки програма прив’язана до обладнання й локальних файлів.
Інтеграції та фонові процеси
Корпоративні .NET-системи зазвичай обмінюються даними з ERP, 1С або BAS, CRM, банками й сайтами. Ці обміни ми виносимо в окремі фонові служби з повторними спробами і журналом: якщо зовнішня система недоступна, дані не губляться, а відправляються пізніше, і ви бачите, що сталося.
Що впливає на вартість
- Тип задачі: нова система, доопрацювання чи перенесення зі старої .NET Framework.
- Обсяг бізнес-логіки: ролі, процеси, документи, розрахунки.
- Інтеграції: облікові системи, банки, продукти Microsoft, зовнішні API.
- Інфраструктура: Windows чи Linux, власні сервери чи Azure, вимоги до відмовостійкості.
- Стан коду: наявність тестів, документації, кількість застарілих технологій.
Оцінку робимо після аудиту чи обговорення задачі і розбиваємо на етапи, щоб ви розуміли, з чого складається бюджет.
Часті запитання
Чи обов’язково потрібен Windows-сервер? Ні. Сучасна .NET працює на Linux і в Docker-контейнерах, що часто дешевше в обслуговуванні.
Наша система на .NET Framework. Чи можна залишити її як є? Якийсь час можна, вона отримує оновлення безпеки. Але нові бібліотеки під неї майже не виходять, тож для розвитку краще планувати перехід.
Чи можна поєднати .NET з інтерфейсом на React чи Angular? Так, це поширений варіант: .NET відповідає за дані й логіку, а інтерфейс робиться окремо.
Чи можна перенести систему на .NET в інший дата-центр або хмару? Так. Після переходу на сучасну .NET застосунок пакується в контейнер і запускається там, де вам зручно, без прив’язки до конкретного хостингу.
Чи підходить C# для мобільних додатків? Технічно так, але для мобільних проєктів ми частіше радимо нативну розробку або Flutter — там більше готових рішень.
Чому Promodex
Ми чесно кажемо, коли .NET — правильний вибір, а коли задачу простіше вирішити іншими засобами. Promodex на ринку з 2015 року, у портфоліо агентства 750+ робіт. Розробники, дизайнери й маркетологи — у штаті, тому відповідальність за результат не розмивається між підрядниками. Обсяг і етапи показуємо заздалегідь, а після запуску підтримуємо систему й переводимо її на нові версії платформи.