۰
حدود دو سال پیش، دنبال یک فریمورک وب مثل Django برای زبان Golang میگشتم اما جای تعجب داشت که حتی یک فریمورک پایهای که اصول اولیه رو پوشش بده پیدا نکردم. نیازهای من ساده بودند:
یادم افتاد Django چطور ساخته شد؛ وقتی توسعهدهندگانش دنبال چیزی مثل Ruby on Rails برای پایتون میگشتن و چیزی پیدا نمیکردن، خودشون Django رو ساختن. پس من هم ۱۳ روزی وقت گذاشتم و با کمک چند توسعهدهنده دیگه در زمینه UI، ریفلکشن در Golang، پایگاه داده و ...، یک نمونه اولیه تحت عنوان "eadmin" نوشتم. حاصل کار چیزی بود که حداقل کار میکرد. هیچکدوم از قابلیتهای جذاب Django رو نداشت اما سریع و کاربردی بود. مهمترین ویژگی که به دست آوردیم این بود که تونستیم به سرعت یه ایده رو پروتوتایپ کنیم و روی یه SCB (Single Board Computer) با پردازنده ARM و ۱۲۸-۲۵۶ مگابایت RAM اجرا کنیم.
الان، دو سال جلوتر، همین کتابخونه پایه تبدیل شده به یه لیست آرزوهای توسعهدهندگان. همه تو تیم کد اضافه کردند و کلی ویژگیهایی که کم بود رو بهش اضافه کردیم؛ از صادرات به Excel تا ابزار برش تصویر داخلی! اینقدر جالب شده که نمیشه فقط در تیم خودمون نگهش داریم و باید اوپنسورسش کنیم. از مدیریت پرسیدم و برخلاف انتظار، مشکلی نداشتن. الان باید کد رو پاکسازی کنم از کدهای خاص محصول و ویژگیهای عمومی جایگزین کنم. همچنین تصمیم گرفتیم اسم کتابخونه رو بذاریم uAdmin چون اون اسم روی Github آزاد بود و ما هم نتونستیم اسم جالب تری مثل Django پیدا کنیم.
حالا چی باعث شده uAdmin خاص باشه؟
پس بریم سراغ کد.
برای دریافت آپدیتها از این نویسنده، در Medium ثبتنام کنید.
Subscribe
برای نصب uAdmin:
1go get github.com/uadmin/uadmin/...
حالا میتونید اولین پروژهتون رو ایجاد کنید:
1$ mkdir -p ~/go/src/github.com/your_name/todo 2$ cd ~/go/src/github.com/your_name/todo 3$ uadmin prepare
اجرای uadmin prepare یک سری فولدرهای جدید مثل templates، static و... برای شما ایجاد میکند. فعلا لازم نیست نگرانش باشید. بریم سراغ نوشتن کد. با هر ویرایشگر متنی که دوست دارید فایل main.go رو بسازید و این کد رو داخلش قرار بدید:
1package main 2 3import ( 4 "github.com/uadmin/uadmin" 5 "time" 6) 7 8type Todo struct { 9 uadmin.Model 10 Name string 11 Description string `uadmin:"html"` 12 TargetDate time.Time 13 Progress int `uadmin:"progress_bar"` 14} 15 16func main() { 17 uadmin.Register(Todo{}) 18 uadmin.StartServer() 19}
برای اجرا:
1go build; ./todo
این کار پایگاه داده را ایجاد و مدل شما را مهاجرت میکند و چند مدل سیستم دیگه مثل احراز هویت، مجوزها و... هم میسازد. حالا میتونید پروژهتون رو در http://127.0.0.1:8080/ بررسی کنید.
با یوزرنیم admin و پسورد admin وارد شوید و داشبورد زیر را خواهید دید:
مدل TODO شما همین الان روی داشبورد وجود دارد. آن را باز کنید و یک تسک به لیست Todo خود اضافه کنید:
اگر میخواهید اپلیکیشن خود را منتشر کنید، در uAdmin روندش راحت است. به پوشه اپلیکیشن رفته و این دستور را بزنید:
1$ uadmin publish
اگر میخواهید بیشتر درباره انتشار اپلیکیشن یاد بگیرید، سری نهم قسمتها را ببینید.
همین بود! تبریک میگویم، اولین اپلیکیشن خود را با uAdmin ساختید. همهچیز قابل سفارشیسازی است و در قسمت دوم چند قابلیت بیشتر را بررسی خواهیم کرد.
۰

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