Попробовал, наконец, разработку на Blazor. Это такой фреймворк под .NET, который позволяет писать фронтенд на C#. Работает он двумя способами: либо собирает весь проект в WebAssembly, и бедный пользователь грузит себе мегабайтную dll, либо устанавливает клиент-серверное соединение через SignalR и шлёт клиенту информацию об обновлённых DOM-элементах.
Вот вторую то я и пробовал. Казалось бы — каждое нажатие кнопки требует отправить на сервер запрос и получить ответ. Никогда такого не было! Но субъективно разницы во времени отклика нет (потому что веб и так достаточно медленный, хаха).
Фронтенд-часть пишется очень похоже на JSX: вёрстка реактивно вперемешку с кодом. Когда-то я очень ругал React за такой подход, потому что каша. Но нетипизированный JS по-умолчанию каша, а здесь же по факту получается очень удобно: статический анализ не даёт тебе делать ошибки и писать ерунду.
Но приятный полноценный язык программирования вместо JavaScript это лишь вишенка на торте. Самое крутое — вся сила серверного кода с полноценной возможностью обращения к базе данных, шеринг моделей данных между сервером и клиентом, и, наконец, Dependency Injection любого серверного модуля в «клиент»! То есть вы не просто пишете одно приложение вместо двух, вы ещё и получаете отсутствие ошибок при каком-нибудь изменении моделей API, когда сервер стал отдавать не то, что ожидает клиент. Вам вообще теперь не нужен API, достаточно закодить нужную функцию на серваке и инжектировать её в нужный фронтенд-модуль.
Это супер удобно, супер быстро, супер устойчиво к ошибкам. Теперь не хочется возвращаться даже на вполне крутой Vue 3. Но, система пока новая, она не обросла решениями от комьюнити, а браузерный API всё равно придётся дергать через JavaScript Interop. Для совсем кайфа нужно подождать годик, поскольку развитие идёт довольно быстро. Например, там нет очень нужного в таком деле hot reload, но в .NET 6 он уже анонсирован, и вроде как есть в превью, а релиз в ноябре.
#dev
🇨🇳🤝🇷🇸Serbian MiG-29B fighters have received Chinese CM-400AKG hypersonic aeroballistic missiles as we reported yesterday, but let's look closer.
Photos have appeared online showing a fighter equipped with two Chinese CM-400AKG air-to-surface missiles. If confirmed, Serbia would become the second foreign operator of this weapon system.
The CM-400AKG is an aeroballistic missile developed on the basis of the SY400 unguided air-launched rocket. Since it weighs only about 910 kg, it can be carried even by light fighters such as the JF-17 Thunder, for which it was originally designed.
It reaches speeds of around Mach 5.5 to 6.3, which effectively makes Serbian MiG-29s the first fighters in Europe outside of Russia to gain hypersonic strike capability. At the current stage, this would put them ahead even of the Rafale F4.1/5 and Rafale-M, which are still awaiting the development and operational readiness of the ASN4G hypersonic missile. Depending on the variant, its strike range is reported to be between 240 and 400 km.
The guidance system includes:
- Inertial and satellite navigation
- Passive radar seeker
- Optionally: an infrared or television guidance channel
Serbia inherited part of its MiG-29 fleet from the Yugoslav Air Force, and later received additional aircraft from Russia and Belarus.
Although the onboard radars of these aircraft already lag well behind modern systems, integrating the CM-400AKG could significantly expand their strike capabilities. When using this missile, targeting data can come from external reconnaissance assets, so the age of the aircraft’s own radar is not a decisive factor.
At the same time, in 2024 Belgrade signed an agreement to purchase French Dassault Rafale fighters, which, according to specialized media reports, will have limited capabilities and will not receive long-range Meteor missiles.
Many link the choice of French aircraft to political factors and Serbia’s desire for closer integration with the European Union.
It is worth noting that Serbia has already purchased Chinese weapons before, for example the HQ-22 air defense system, selected as an alternative to the sanctioned Russian S-300 and S-400 systems.
If the integration of the CM-400AKG is confirmed, it could extend the service life of Serbian MiG-29s and draw the attention of other operators of this fighter, such as Algeria, Myanmar, Belarus, and Turkmenistan.
🤫 It is also noteworthy that, under the current circumstances, the Russian Ministry of Defense could quite plausibly purchase a batch of 300 to 500 CM-400AKG missiles, after which specialists at aircraft repair plants could adapt the weapon control systems of MiG-29S, SMT, M2, and MiG-29K fighters in service with the Russian Aerospace Forces for the use of these missiles in further strikes against AFU targets.
#info
#Mig29#Serbia
#China#Air_to_Air
#radar