Abstract:
در چند سال اخیر شاهد رشد چشمگیر «سکوهای توسعهی کمکد» هم در جلبتوجه بازار و هم دانشگاه بودهایم. سکوهای کمکد، سکوهای توسعهی برنامههای کاربردی بهصورت بصری هستند که معمولاً روی ابر اجرا میشوند و نیاز به کدنویسی دستی را کاهش میدهند. همچنین، توسط توسعهدهندگان غیرحرفهای با دانش محدود در برنامهنویسی مورد استفاده قرار میگیرند. در این مقاله، ابتدا ویژگیهای سکوهای شناخته شده مورد بررسی قرار میگیرد تا مزایای این رویکرد بررسی شود. با توجه به اینکه سکوهای کمکد در بسیاری از اهداف و ویژگیها با رویکردهای مهندسی مدلرانده مشترک هستند، لازم است جایگاه سکوی کمکد در مقایسه با این رویکردها مورد بررسی قرار گیرد و نقاط ضعف و قوت هر دو مشخص شود. یکی از دلایل استقبال از سکوی کمکد استفاده از رایانش ابری است، که اکثر رویکردهای مهندسی مدلرانده از آن بیبهره بودهاند. بنابراین، در این مقاله به بررسی راهکارهای استفاده از رایانش ابری در مهندسی مدلرانده جهت کاربرد این رویکردها برای ایجاد سکوهای کمکد میپردازیم و این موضوع را روی یک مطالعه موردی برای زبان مدلسازی قرارداد هوشمند پیاده میکنیم.
In the last few years, we have witnessed a significant growth of "low-code development platforms" (LCDPs) in attracting the attention of both the market and the academia. LCDPs are visual development platforms that typically run on the cloud, reducing the need for manual coding. They are also used by non-professional developers with limited knowledge in programming to construct applications. In this paper, the characteristics of well-known LCDPs are first studied to evaluate the advantages of this approach. Given that the low-code platforms have many goals and features in common with the model-driven engineering (MDE) approaches, it is necessary to examine the position of these platforms in comparison with the MDE approaches and identify the strengths and weaknesses of both. One of the reasons for the popularity of the LCDP platforms is the use of cloud computing, which most model-driven engineering approaches have failed to achieve. Therefore, in this article, we review the solutions for using cloud computing in MDE to apply these approaches to develop low-code platforms and apply the approach on a modeling language for smart contracts.