برنامه نویسی

ساختن یک برنامه به عنوان کاربر بتا از راه حل کم کد “AWS App Studio”: منفی (قسمت 2 از 2)

سلام

استودیوی برنامه AWS سرویس ساخت برنامه کم کد است.

من یک تستر بتا برای استودیوی برنامه AWS بودم (و شاید هنوز هم هستم) ، می خواهم تجربه خود را در ساخت برنامه به اشتراک بگذارم استودیوی برنامه AWSبشر

به دنبال پست وبلاگ من در “PRO” از AWS App Studio ، من یک سری از پست های وبلاگ را در مورد “منفی” استودیوی AWS App انجام می دهم.

موانع راه اندازی اولیه

  1. فعال کردن مرکز هویت IAM AWS

AWS App Studio با مرکز هویت AWS IAM ادغام می شود ، و با ادغام با تنظیمات موجود در سیستم موجود (SSO) و تنظیمات پروتکل دسترسی به فهرست سبک (LDAP) ، امکان دسترسی ایمن را آسان می کند.

شرح تصویر

👆 این تصویر توضیح می دهد که من باید “مجوزهای مدیر برای مدیریت مرکز هویت IAM” برای ایجاد نمونه استودیوی AWS برنامه داشته باشم

شرح تصویر

👆 این تصویر توضیح می دهد که پیکربندی در حال حاضر در منطقه “N. ویرجینیا” باید حذف شود

تنظیم مرکز هویت IAM برای پیکربندی محیط استودیوی برنامه ضروری بود. با این حال ، به عنوان کسی که دانش قبلی کمی از مرکز هویت IAM داشت ، روند راه اندازی چالش برانگیز بود.

از آنجا که مرکز هویت IAM فقط در یک منطقه قابل تنظیم است ، مجبور شدم آن را در منطقه اورگان ، جایی که استودیوی برنامه در دسترس است ، تنظیم کنم. این امر به من نیاز داشت تا تنظیمات موجود را در مناطق دیگر حذف کنم.

من به راحتی نمی توانم تعیین کنم که کدام منطقه یا خدمات از مرکز هویت IAM در حساب خود استفاده می کنند. از آنجا که حساب AWS من بیش از یک سال است غیرفعال بوده است ، من به حذف تنظیمات قبلی در مناطق دیگر پایان دادم و با موفقیت مرکز هویت IAM را در منطقه اورگان پیکربندی کردم.

تکمیل تنظیم بدون درک کامل مرکز هویت IAM دلپذیر ترین تجربه نبود.

  1. ایجاد یک نمونه استودیوی برنامه

شرح تصویر

👆 گفته است: “تنظیم ممکن است تا 30 دقیقه طول بکشد. لطفاً برگردید و وضعیت تنظیم را بررسی کنید.”

شرح تصویر

پس از تکمیل تنظیمات مرکز هویت IAM ، یک نمونه استودیوی برنامه ایجاد کردم. من گروه IAM و کاربر ایجاد شده در مرکز هویت AWS IAM را به “گروه مدیر” اضافه کردم و ایجاد نمونه را آغاز کردم. با این حال ، روند ایجاد نمونه استودیوی برنامه زمان بسیار طولانی طول کشید.

دیدن نمونه کامل تقریباً نیم روز طول کشید. من این روند را از ساعت 7:30 بعد از ظهر شروع کردم و بعد از 30 دقیقه منتظر بدون پاسخ ، مجبور شدم روز بعد بررسی کنم. این فرایند در اواسط سپتامبر 2024 رخ داده است ، بنابراین امیدوارم که زمان مورد نیاز از آن زمان کاهش یابد.

در طی فرآیند ایجاد نمونه ، من همچنین یک ایمیل از notifications@codecatalyst.aws در ساعت 12:30 صبح با عنوان “افزایش نرخ خطا و تأخیر برای گردش کار” دریافت کردم ، که هنوز هم به یاد می آورم.

محتوای ناامیدکننده سند دستی

من شخصاً اسناد را با تصاویر یا فیلم های پیوست شده ترجیح می دهم ، اما اسناد App Studio همه متن هستند. بنابراین من در یادگیری پارامترها ، انواع عبارات JS و غیره کار سختی داشتم

تأسف آور بود که حتی دستورالعمل های پیروی از دکمه منو فقط در متن بودند.

من پیشنهادی را به تیم استودیوی App در Slack ارائه دادم ، فکر کردم که اگر حداقل تصاویر در آن گنجانده شده باشد بهتر خواهد بود ، اما تیم پاسخ داد که آنها عمداً محتاط هستند زیرا هزینه های نگهداری در آینده تغییر می کند ، و محتویات مانند تصویر و فیلم ها باید با هم تغییر کنند.

دینامودب

پیوستن به ناپدید شدن هنگام نقشه برداری DynamoDB

در استودیوی App ، یک ویژگی پیوستن وجود داشت که برای ارتباط با سایر نهادها مناسب بود.

با این حال ، من فقط بعد از تغییر اتصال داده به DynamoDB که از ویژگی پیوستن پشتیبانی نمی کند.

اگر من این را از قبل می دانستم ، از پیوستن استفاده نمی کردم ، و نیازی به مشکل برای اصلاح روش اتصال موجودیت نبودم ، و در نتیجه انرژی عاطفی و زمان هدر رفت.

شرح تصویر

شرح تصویر

لحظه ای که فهمیدم که DynamoDB از پیوستن پشتیبانی نمی کند.

تنظیم اتصال DynamoDB

بسیار دشوار بود که مجبور شوید به صفحه اصلی بروید تا هر بار که نوع ستون جدول DynamoDB تغییر می کند ، تنظیمات اتصال را به روز کنید.

شرح تصویر

شرح تصویر

هشدار ناشناخته در مورد تنظیم زمینه

من گمان می کنم که اگر جدول DynamoDB دارای کلید پارتیشن و کلید مرتب سازی در همان زمان باشد ، نهاد App Studio هشدار را نشان داد “محدودیت های میدان موجودیت باید با محدودیت های ستون منبع داده نقشه برداری مطابقت داشته باشد.”

من نمی توانم با محدودیت های موجود در App Studio مطابقت داشته باشم.

شرح تصویر

من آرزو می کنم مؤلفه بارگذاری S3 گزینه ای برای بارگذاری مستقیم نداشته باشد

هنگام انتخاب یک فایل تصویری به صورت محلی با مؤلفه بارگذاری S3 ، می خواهم گزینه ای برای بارگذاری آن در سطل S3 فقط در صورت کلیک کاربر روی دکمه تأیید ، به جای بارگذاری مستقیم آن در سطل S3.

هنگام ایجاد صفحه ای که کاربر عکسی را برای بارگذاری از گالری عکس انتخاب می کند و داده های دیگر را وارد می کند ، اگر کاربر به طور ناگهانی نظر خود را تغییر داده و ارسال تصویر را لغو می کند ، تصویر S3 که قبلاً بارگذاری شده است باید دوباره حذف شود ، که بسیار ناکارآمد است.

شرح تصویر

تولید شده توسط AI

کد JavaScript تولید شده توسط AI را خنثیسازی کنید

بعضی اوقات ، هنگام ورود به یک سریع در تولید JavaScript ، کد موجود در حال حاضر را به طور کامل حذف می کند.

وقتی این اتفاق افتاد ، من فکر کردم که بسته شدن پنجره از صرفه جویی در آن جلوگیری می کند ، بنابراین من آن را بستم و دوباره پنجره را باز کردم تا کد را بررسی کنم ، فقط متوجه شدم که کد تولید شده AI قبلاً ذخیره شده است ، و بازیابی کد اصلی را غیرممکن می کند.

در آن زمان ، هیچ عملکرد خنثیسازی وجود نداشت ، که واقعاً ناامید کننده بود.

ای کاش دکمه ای برای خنثی کردن وجود داشت.

شرح تصویر

ناراحتی UI چت AI

هنگام انتخاب مؤلفه Gen AI ، صفحه چت AI باید به طور ایده آل گسترش یابد ، اما این کار را نکرد.

من مدتی را صرف فهمیدم که چه کاری می توانم در صفحه نمایش Properties در نوار کناری سمت راست انجام دهم.

فقط پس از گسترش بسته Build with AI گپ در سمت چپ پایین ، متوجه شدم که اینجا جایی است که باید کار کنم.

کاربرانی که به چنین مواردی حساس نیستند ممکن است به هیچ وجه از ویژگی های اجزای Gen AI استفاده نکنند.

شرح تصویر

و یک چیز دیگر ،

و اگر فقط در همان صفحه به یک برگه دیگر بروید، تمام محتوای chatbot ناپدید شدنبشر

این یک تجربه بسیار کشنده و بد است. بنابراین ، شما باید هنگام استفاده از آن بسیار مراقب باشید.

هوش مصنوعی تولید نتایج ناامید کننده ای می کند

من می خواستم مؤلفه لودر سفارشی را ایجاد کنم ، بنابراین از هوش مصنوعی پرسیدم که چگونه آن را بسازم.

من انتظار داشتم که به طور خودکار “بیان” ایجاد کند و آن را در مؤلفه جدید وارد کند ، اما من نتایج ناامید کننده ای دریافت کردم زیرا فقط مؤلفه UI را ایجاد کرد.

این مؤلفه شرایطی را که می خواهم قرار دهم شامل نمی شود.

شرح تصویر

ای کاش سیستم تعریف متغیر جاوا اسکریپت تثبیت می شود

من می خواهم انواع مختلفی را برای هر متغیر تعریف کنم تا به طور کامل از ویژگی سازگاری خودکار برای انواع متغیر هنگام وارد کردن مقادیر در اجزای موجود در برگه صفحه استفاده کنم.

در حال حاضر ، موارد بسیار زیادی وجود دارد که نوع آن به صورت نامشخص نشان داده شده است و منجر به عدم اطمینان در مورد اینکه آیا من به مقادیر صحیح وارد می شوم.
شرح تصویر

برای کد JavaScript که به طور عادی در اتوماسیون کار می کنند ، وجود دارد و حتی در هنگام تعریف انواع متغیرها ، موارد بسیاری نیز وجود دارد که تعریف به درستی کار نمی کند.

شرح تصویر

و گاهی اوقات Intellisense در زمینه های ورودی کار نمی کرد زیرا یک زیر خط قرمز وجود داشت ، اما اغلب خوب کار می کرد.

شرح تصویر

سرعت بارگیری صفحه آهسته

من یک گالری عکس را پیاده سازی کردم ، اما برای بارگیری داده های لیست عکس از DynamoDB حدود 10 ثانیه طول می کشد و سپس تصاویر را از S3 بارگذاری می کند.

هیچ ویژگی ذخیره سازی در صفحه وب وجود ندارد ، بنابراین وقتی به صفحه بعد می روم و سپس به صفحه قبلی در مؤلفه گالری تصویر با صفحه بندی برمی گردم ، باید بیش از 5 ثانیه صبر کنم تا دوباره داده ها را بارگیری کنم ، که بسیار ناخوشایند است.

من می دانم که منطق باکتری روی لامبدا اجرا می شود ، بنابراین آرزو می کنم گزینه هایی وجود داشته باشد که می توان توان تأمین شده را مستقیماً تنظیم کرد یا اقداماتی را برای گرم کردن عملکرد Lambda استودیوی برنامه ایجاد شده در حساب من انجام داد.

بنابراین من فکر می کنم حداقل تیم استودیوی App برخی از مؤلفه های لودر را برای نشان دادن وضعیت بارگذاری با لطف ارائه می دهد.

بنابراین ، من فکر می کنم تیم استودیوی برنامه حداقل باید یک جزء لودر را برای نمایش وضعیت بارگذاری با لطف تر ارائه دهد.

سفارشی سازی محدود

شرح تصویر

متأسفانه ، App Studio در حال حاضر فقط به طرح های محدود UI اجازه می دهد.

بدون پشتیبانی CSS ، استفاده از طرح بندی های انعطاف پذیر مانند Flexbox غیرممکن است.

یک مسئله خاص برای من عدم پشتیبانی مناسب برای دیدگاههای پاسخگو تلفن همراه بود.

با این حال ، به نظر می رسد که پشتیبانی CSS به زودی اضافه می شود. طبق گزارش ها ، بحث در مورد این موضوع در تیم استودیوی برنامه ادامه دارد!

هنگامی که من برای اولین بار پروژه خود را در اکتبر 2024 ایجاد کردم ، App Studio هنوز در مرحله پیش نمایش خود بود. اکنون ، به یک سرویس به طور کلی در دسترس (GA) تبدیل شده است.

برقراری ارتباط با تیم توسعه در مورد Slack و دیدن بازخورد من در پیشرفت ها جذاب بود. من پتانسیل خوبی را در استودیوی برنامه می بینم.

در اینجا برخی از زمینه ها وجود دارد که امیدوارم استودیوی برنامه بهبود یابد:

  • ادغام DynamoDB پیشرفته: پشتیبانی از انواع داده های JSON و پیوستن به بندها.
  • بهینه سازی عملکرد: سرعت بارگیری صفحه را بهبود بخشید.
  • افزایش انواع مؤلفه UI: ابزارهای UI قابل تنظیم تر اضافه کنید.
  • مستندات توسعه دهنده بهبود یافته: راهنماهای جامع تری با کمک های بصری ارائه دهید.

این تجربه به من این امکان را می دهد تا واقعاً احساس کنم که چقدر AWS بازخورد جامعه توسعه دهنده را ارزیابی می کند. یک تستر بتا و شرکت در فرآیند توسعه خدمات یک تجربه فوق العاده منحصر به فرد و با ارزش بود.

من امیدوارم که این فرهنگ مثبت تیم خدمات به طور فعال پذیرش و بازخورد را در آینده ادامه دهد.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا