Low code چیست؟
Low code یک رویکرد بصری برای توسعه نرمافزار است که امکان تحویل سریعتر برنامهها را از طریق کدزنی حداقلی فراهم میکند. رابط کاربری گرافیکی و قابلیت های رهاکنندگی (drag-and-drop) که در یک پلتفرم low code وجود دارد، بخشی از فرآیند توسعه را به صورت خودکار انجام میدهد و وابستگیها به روشه ای سنتی برنامهنویسی رایانهای را حذف میکند. پلتفرم های low code فرآیند توسعه برنامهها را دموکراتیزه میکنند، به ویژه برای توسعهدهندگان به اصطلاح "شهروند"، به عبارتی کاربران تجاری که تجربه کدنویسی رسمی کمی دارند (مانند تحلیلگران تجاری یا مدیران پروژه). این ابزارها به کارمندانی که تخصص فنی کمتری دارند اجازه میدهد تا از راههای مختلف تأثیر بزرگتری روی کسب و کار بگذارند، مانند کمک به رفع عقبماندگیهای دپارتمان فناوری اطلاعات، کاهش تکنولوژی های سایه(منظور از تکنولوژی های سایه(shadow IT) ، استفاده از سختافزار، نرمافزار یا سرویسهای IT توسط کارمندان یا کاربران نهایی بدون تأیید یا نظارت بخش IT سازمان است. این موضوع میتواند منجر به افزایش بهرهوری و رضایت کاربران شود، اما همچنین میتواند خطرات امنیتی و مطابقت با استانداردها را به همراه داشته باشد. برای مثال، اگر کارمندان از حساب Dropbox شخصی خود برای به اشتراک گذاری فایلهای کاری استفاده کنند، ممکن است دادههای حساس سازمان را در معرض دسترسی غیرمجاز قرار دهند) و بخش بیشتری از مالکیت را در مدیریت فرآیندهای تجاری (BPM) به دست بگیرند. علاوه بر همه اینها، پلتفرم های توسعه low code همچنین به برنامهنویسان با تجربهتر هم کمک میکنند، زیرا دیگر نیاز به تجربهی زیاد در کدنویسی وجود نخواهد داشت و آنها میتوانند در زمینه تجربه کدنویسیشان، انعطاف بیشتری داشته باشند. به عنوان مثال، برخی برنامههای تجاری نیاز به دانش درباره زبان برنامه نویسی خاصی دارند که باعث میشود انتخاب برنامهنویسان را به شدت محدود کند. با حذف این محدودیت، پلتفرم های low code دوره توسعه برنامه را کوتاه میکنند و امکان توسعه بیشتری در زمان کمتر را فراهم میکنند.
ویروس کووید-19 نیاز تجاری به اتوماسیون فرآیندها و اولویتبندی طرحهای تبدیل دیجیتال (وارد کردن تکنولوژی در فرآیندهای کاری با هدف بهرهوری بیشتر) را افزایش داده است. پلتفرم های low code به رفع این نیاز کمک میکنند و به سادهسازی جریان کاریها و شتاببخشی به پروژههای اتوماسیون کمک میکنند. طبق گزارش گارتنر، انتظار میرود بازار جهانی فناوریهای توسعه low code در سال 2021 با افزایش 22.6٪ به ارزش 13.8 میلیارد دلار برسد. و در سال 2023، پیشبینی میشود که بیش از 50٪ شرکتهای متوسط و بزرگ یک پلتفرم برنامه low code را بپذیرند.
مدل low code با ایجاد تجربه کاربری قابل دسترسیتر، توسعه سریع برنامه را ترویج میکند. هم شهروندان و هم برنامهنویسان حرفهای از قابلیتهای اصلی مانند محیط توسعه یکپارچه بصری (IDE)، اتصال دهندههای دادهای داخلی(built-in data connectors) و یا رابطهای برنامه نویسی (API) و الگوهای کد بهرهمیبرند. تمامی این قابلیتها باعث بهبود فرآیند DevOps میشود و باعث میشود بتوان زمان بیشتری را برای نوآوری صرف کرد.
تواناییهای low code به همه کسانی که میخواهند برنامهای را بدون در نظر گرفتن سطح مهارت کدنویسی خود ایجاد کنند و هم به توسعهدهندگانی که نیاز به اتوماسیون فرآیند توسعه و جایگزینی کدنویسی دستی با یک ویرایشگر رهاکننده (drag-and-drop) دارند تا زمان ساخت را کاهش دهند، کمک میکند.شرکتها با استفاده از توسعه نرمافزار low code، به سرعت به تغییرات سریع در الزامات و شرایط تجاری واکنش نشان میدهند.
در زیر فواید توسعه low code برای یک سازمان آورده شده است:
1. توسعه سریع برای هر کسب و کار
علاوه بر کمک به شما در ساخت هر پروژه به صورت بسیار سریع، بیشتر پلتفرمهای low code به شما اجازه میدهند تا پروژههایی را ایجاد کنید که به مرور زمان مقیاسپذیر باشند و امکان ادغام با فروشندگان مهم را فراهم کنند.(منظور از ادغام با فروشندگان(integration with vendors) ، این است که پلتفرمهای توسعه low-code به شما این امکان را میدهند که پروژههای خود را با سیستمها، سرویسها و محصولات دیگری که توسط شرکتهای خارجی ارائه میشوند، هماهنگ کنید. به این ترتیب، میتوانید از قابلیتها و ویژگیهای آنها در پروژههای خود بهره ببرید و نیازمندیهای بازار و مشتریان را برآورده کنید. برای مثال، ممکن است بخواهید پروژهی خود را با یک کتابخانه یادگیری ماشین، یک سرویس ابری یا یک نرمافزار مدیریت پروژه ادغام کنید.)
علاوه بر این، این پلتفرمها به شما کمک میکنند تا از رابط های برنامه نویسی (API) استفاده کرده و خطوط کد خود را به بلوکهای ساختمانی قابل استفاده مجدد تبدیل کنید. همه اینها به افزایش بهرهوری و شتاببخشی در فرآیند توسعه کمک میکند تا هر کسب و کار بتواند با تمامی تقاضاهای بازار و مشتریان گام بردارد.
ویرایشگرهای low code به شما کمک میکنند تا برنامههای بهینهسازی شدهای را ایجاد کنید تا کسب و کارها بتوانند به نحوی که مشتریان آنها اطلاعات دیجیتال را مصرف میکنند، واکنش نشان دهند، که ممکن است در تلفن همراه یا لپتاپ آنها باشد.
2. کاهش هزینهها
استفاده از توسعه نرمافزارlow code میتواند به هر کسب و کار یا استارتاپ خیلی از هزینهها را صرفهجویی کند. بخش فناوری اطلاعات میتواند از پلتفرم low code برای ساخت چیزی که در غیر اینصورت نیاز به ساعتها تحقیق، کدنویسی دستی و تست دارد، استفاده کند.
3. عدم نیاز به مهارتهای پیشرفته برنامهنویسی
هر کسی میتواند یک وبسایت کارآمد را به هر نحوی ایجاد کند، بدون در نظر گرفتن زمینه شغلی خود. و این کمک بزرگی به هر کسی است که میخواهد با سرعت تغییرات جهان آنلاین را دنبال کند و همچنین نیازهای همه گیری را با استفاده از راهکارهای low code، دیگر نیازی به برنامهنویسان متخصص نیست، اما توسعهدهندگان همچنین میتوانند از فرآیند توسعه سریع لذت ببرند. این به این معناست که به جز فرآیند تولید شتاببخش، مرزهای سنتی سازمانی نیز دیگر سفت و سخت نیستند و امکان کار بهتر تیمهای متقابل وجود دارد.این موضوع منجر به مزیت بعدی میشود.
4. افزایش بهرهوری و اتصال بین تیمها
هر کسب و کار میتواند پلتفرم low code را پیدا کند که بتواند نیازهای فناوری اطلاعات را متمرکز کند و همچنین تأییدیه بخش فناوری اطلاعات را دریافت کند، به طوری که هیچ برنامه یا وبسایتی به یک پروژه سخت یا غیرقابل مدیریت تبدیل نشود.این بدان معناست که کسب و کارها میتوانند برنامههای خود را حتی بدون کمک توسعهدهندگان ایجاد کنند.اما بخش فنی هر زمانی که نیاز باشد میتواند کمک کند.نرمافزار low code بخشها را به هم متصل میکند و از بین میبرد و پل ارتباطی بین هر کسب و کار و بخش فناوری اطلاعات را برقرار میکند.با حذف کد پیچیده، هر عضوی از شرکت میتواند نمونه سازیها و حتی وبسایتها و برنامههای آماده ساخته شده در یک پلتفرم low code ارائه کند.
5. اتوماسیون برای تمامی فرآیندها
یک پروژه از یک نیاز تجاری شروع میشود.از آنجایی که پلتفرمهای low code بر اساس فرآیندهای اتوماتیک که توسط ابزارها و ویژگیهای اساسی مانند ویرایشگر، الگوها، طرحها و سایر عناصری که پلتفرم ارائه میدهد کار میکند، یک وبسایت یا برنامه به سرعت آماده میشود. همچنین، امکان اتوماسیون هر فرآیند تجاری دیجیتالی را ممکن میسازد.
6. نمونهسازی چابک
از جمله مزایای low code این است که به هر کسی اجازه میدهد به سرعت راهحلهای نمونه برای پروژههای مشابه ایجاد کند. نتایج نهایی میتوانند مقایسه، تجزیه و تحلیل و آزمایش شوند تا ببینیم کدام گزینه بهترین گزینه برای شرکت است.با تصمیمگیری، پروژه میتواند برای مقیاسبندی و ادغام با سایر راهحلها به توسعه ارسال شود.
7. نیاز کمتر به نگهداری
یک راهحل low code وظایف زمانبر توسعه روزانه را حذف میکند. علاوه بر این، از آنجا که بلوکها، طرحها و اجزا آماده سازی شدهاند و شما میتوانید آنها را با استفاده از ویرایشگر low code قابل جابجایی قرار دهید، باگهای بسیار کمتری را باید مدیریت کنید. این امر، فرصتی را برای تیمها فراهم میکند تا از ایدههای ارزشمندی که عملکرد شرکت را بهبود میبخشد، بهتر بهره ببرند.
8. پایان شدن نگرانیهای IT سایهای
از آنجایی که فرآیند توسعه به طور معمول بسیار طولانی است، بسیاری ترجیح میدهند بدون تأییدیه IT برنامههای خود را ایجاد کنند. این به عنوان Shadow IT شناخته میشود، که در آن بخشهای فناوری اطلاعات دیگر نمیتوانند کمک کنند زیرا ادغام برنامه در معماری کسب و کار بسیار دشوار یا غیرممکن است.با توسعه نرمافزار low code، و به ویژه با استفاده از یک ویرایشگر low code که توسط بخش IT تأیید شده است، شرکت شما با این مشکل روبرو نخواهد شد.
9. بیشترین زمان برای ایدههای خلاقانه
یک پروژه بزرگ میتواند بسیاری از وقت هر کسی را، به ویژه بخش فناوری اطلاعات که باید همه چیز را بسازد و تست کند، بگیرد.این میتواند به فشار زیاد، ساعتهای اضافی یا تخلف از مهلتها اضافه شود، همراه با این واقعیت که آنها وقت کافی برای پیدا کردن چیزی منحصربهفرد و شخصیسازی ندارند.با استفاده از قابلیتهای low code، افراد فنی و غیرفنی میتوانند پروژههای خود را به سرعت ایجاد کنند، که این به معنی داشتن وقت کافی برای تمرکز بر وظیفه مهم بعدی و رعایت مهلتها است.
10. امکان ادغام میراث ( legacy integration)
توسعه نرمافزار low code یک مزیت مهم دیگر را به همراه میآورد: اجازه ادغام سیستمهای میراثی مینفریم را میدهد.به این ترتیب، نیازی نیست نگران این باشید که پروژه شما بیرون از محدوده قرار بگیرد و امکان مقیاسبندی آن وجود نداشته باشد.(منظور از امکان ادغام میراث ، این است که پلتفرمهای توسعه low-code به سازمانها این قابلیت را میدهند که سیستمهای قدیمی و ناکارآمد خود را با سیستمهای جدید و پیشرفته تر اتصال دهند. به این ترتیب، نگرانی درباره عدم قابلیت گسترش و بهروزرسانی پروژههای موجود برطرف میشود. این موضوع با استفاده از عبارت legacy mainframe systems(ادغام میراث ) بیان شده است. این عبارت به سیستمهای کامپیوتری بزرگ و قدرتمند اشاره دارد که در گذشته برای پردازش دادههای حجیم استفاده میشدند، اما اکنون با تکنولوژیهای جدید سازگار نیستند)
11. نسخههای سریع
پلتفرمهای توسع low code ابزارهای لازم را فراهم میکنند تا توسعهدهندگان بتوانند فرآیندهای موجود کسبوکار را بازبینی و ویرایش کنند.به این ترتیب، آسانتر است تا تمام مستندات و تاریخچه بازبینی پروژه را داشته باشید تا هر کسی بتواند به سرعت همه چیز را درک کند. علاوه بر این، پیادهسازی یک پروژه مشابه برای هر کسی میتواند به راحتی صورت بگیرد.
12. بهبود تجربه مشتری
مزایای پلتفرمهای low code نه تنها به بخشهای فناوری اطلاعات و کسانی که وبسایت یا برنامه را ایجاد میکنند، بلکه به کاربران نیز کمک میکند تا تجربهای بهتر به عنوان مشتری به آنها ارائه دهند.این به لطف پلتفرم low code است که تولید سریعتر را ممکن میکند، که این اجازه را به سازمان میدهد تا تحقیقات بازار را انجام دهد و نیازهای مشتری و اجرای سریع وبسایت یا برنامه را درک کند.
13. تغییرات آسان
راهحلهای low code همچنین به کمک انجام تغییرات لازم و سازگارسازی هر وبسایت یا برنامه با نیازهای مورد نیاز کمک میکنند.این کار بدون نیاز به کدزنی پیچیده امکانپذیر است؛ شما فقط وارد ویرایشگرlow code از پلتفرمی که در حال کار با آن هستید میشوید و تمام تغییرات را به صورت بصری انجام میدهید.
1. نادیده گرفتن چک ها و بالانس در فرآیند تولید
در این روش توسعه نرم افزار آزادی داریم. این آزادی میتواند توسعه نرم افزار را ساده تر از آنچه که هست نشان دهد. این امر باعث میشود توسعه دهندگان به جزئیاتی که متخصصین Devops به آن ها اهمیت میدهند توجه نداشته باشند.
پیش از اینکه یک شرکت به تولید انبوه برنامه ای برسد تحقیقات زیادی در حوزه UX انجام داده، شاید نمونه اولیه ای تولید کرده باشد و توجه زیادی به جزئیات وجود دارد.
در این روش بسیاری از نکات مهم را میتوان نادیده گرفت. شما باید به استفاده فعلی و آینده برنامه توجه داشته باشید. شاید رابط کاربری شما برای کاربران فعلی جذاب باشد اما هنگامی که کاربران افزایش میابند ممکن است از این رابط کاربری استقبال نکنند.
در طراحی برنامه باید تا جای ممکن انتظارات بین توسعه دهندگان و کاربران نهایی را کاهش داد و برای این امر برنامه ریزی کرد.
2. خطرات امنیتی
پلتفرم های low-code به خودی خود نا امن نیستند اما تیم توسعه ممکن است در حین ارتباط با بخش IT خطراتی را برای ایمنی دادههای کسبوکار شما به همراه داشته باشد.
این امر مخصوصا زمانی رخ میدهد که تیم توسعه برنامه ای ایجاد میکنند که بخش IT از آن اطلاعی ندارد. استفاده از کامپیوتر شخصی به جای کامپیوتر شرکت، اجرای داده ها بدون بررسی دسترسی در برنامه میتوانند سوراخ های امنیتی جدی برای داده ها ایجاد کنند و باعث سوء استفاده اشخاص خارجی و ویروس ها شود.
یکی دیگر از مشکلات امنیتی در این روش این است که هیچگاه نمیتوان مطمئن شد برنامه نوشته شده خالی از خطا و باگ است. همواره عوامل داخلی و خارجی زیادی وجود دارند که میتوانند در برنامه شما موثر باشند.
3. توانایی کمتر برای اضافه کردن برنامه دلخواه
شاید کمی عجیب به نظر برسد اما هر چقدر تعداد سفارش های مربوط به برنامه شما بیشتر باشد، محدودیت بیشتری برای شما ایجاد میکند. در حالی که شما قالب های مختلفی را به رابط اضافه میکنید. از طرف دیگر توسعه دهنده را دچار محدودیت کرده و امکان نوشته شدن کد جدید را از آن ها میگیرید.
سناریوهای موجود برای low-code این امکان را به شما نمیدهند که هر رابط کاربری دلخواهی را توسعه دهید. برخی مواقع رابط پیشنهاد هایی به شما میدهد که شما را در طراحی کلافه میکند و نمیتوان همه طرح های ممکن را در رابط جا داد.
یکی از ابزارهای قدرتمند و محبوب برای توسعه و ساخت برنامههای تحت وب و موبایل، Microsoft Power Apps است. این ابزار به کاربران امکان میدهد که بدون نیاز به توانایی و علم به زبانهای برنامهنویسی، برنامههای سفارشی خود را ایجاد کنند. این ابزار ابتدا در سال 2015 با نام Project Siena توسط مایکروسافت معرفی شد و در سال 2016 به Microsoft Power Apps تغییر نام داده شد.
این ابزار جزئی از مجموعهی Microsoft Power Platform است که شامل ابزارهایی قدرتمند برای توسعه، اتصال، و تحلیل برنامهها و راهکارهای تحت وب و موبایل است. این پلتفرم شامل چهار ابزار اصلی Power Apps برای توسعهی Low code، Power BI (Business intelligence) برای تجزیه و تحلیل و تصویرسازی داده و رسم نمودار و ایجاد گزارشهای تحلیلی، Power Automate برای اتوماسیون فرآیندهای روزمرهی کسبوکار همانند ایمیلها و فرآیندهای مربوط به بانکهای اطلاعاتی، و Power virtual agents برای ساخت chatbotها برای پاسخگویی به مشتریان است.
با استفاده از Power Apps، کاربران میتوانند به سادگی فرمها، جداول، گزارشها و انواع دیگر المانهای معمول در برنامههای تحت وب و موبایل را بر اساس نیاز خود طراحی و پیادهسازی کنند. این ابزار از قابلیتهایی مانند اتصال به منابع دادهی مختلف، ایجاد رابط کاربرای زیبا و قابل تنظیم، و امکان انتشار برنامهها در پلتفرمهای مختلف پشتیبانی میکند. Power Apps به کاربران امکان میدهد با سرعت و با کمترین هزینه برنامههای خود را توسعه داده و بهرهبرداری کنند.
طبعاً یکی از ویژگیهای کلیدی این ابزار Low code است. با استفاده از این قابلیت، کاربران میتوانند بدون نیاز به توانایی برنامهنویسی عمیق و تسلط به جزئیات زبان برنامهنویسی، برنامههای سفارشی محیط کسب و کار خود را ایجاد کنند. با استفاده از ابزارهای Low code در Power Apps، کاربران میتوانند با رابط کاربری گرافیکی و ابزارهای بصری، برنامههای تحت وب و موبایل پیچیده را بدون نیاز به نوشتن کدهای تکراری (مثلاً کدهای Boiler plate یا کدهایی که در خیلی برنامهها استفاده میشود) ایجاد کنند. این ابزارهای بصری، امکاناتی مانند ساخت بلوکهای کد (برای منطقی که قبلاً مشابه آن پیاده نشده)، تعریف قوانین و منطق کسبوکار، خواندن و نوشتن در منابع داده و گزارشگیریهای پیچیده را فراهم میکند. این بصری بودن، انعطاف و سرعت توسعه و نگهداری را هم برای تازهکاران و هم برای برنامهنویسان افزایش میدهد.
در سال 2022، بخشی از Power Apps با نام Power Pages از آن مستقل شد که برخلاف خود Power Apps که برای برنامههای درونی شرکتها استفاده میشود، به ساخت اپلیکیشنهای خارجی برای استفادهی عموم اختصاص دارد. Power Pages یک SaaS (Software as a service) است که برای ایجاد وبسایتهای تجاری برای کسبوکارها ایجاد شده است. این ابزار ابتدائاً تعدادی template پیشساخته در اختیار سازنده قرار میدهد که از بین آنها انتخاب کند، سپس وارد محیط Design Studio میشود که چهار محیط کار مختلف دارد: Pages workspace برای ایجاد و مرتب کردن صفحات وبسایت، Styling workspace برای اعمال styleها و themeهای کلی، Data workspace برای تعامل با جداول Microsoft Dataverse، و Set up workspace برای مدیریت و administration سایت. Power pages بر پایهی Bootstrap ساخته شده، که یعنی به صورت native از سایزهای مختلف صفحه پشتیبانی میکند. همچنین امکان اتصال به Visual Studio Code هم برای ایجاد سایتهای قدرتمندتر توسط توسعهدهندگان حرفهایتر وجود دارد.