مصاحبه با مهندس سپهر از شرکت دانش بنیان نرم افزار گستر زعفران در مورد sdk زعفران که دارای قابلیت یکبار کد نوشتن و دریافت خروجی ویندوز و مک و ios و android می باشد .

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

قسمت اول بوت کمپ زعفران ساخت اپلیکیشن android و ios

قسمت دوم بوت کمپ زعفران ساخت اپلیکیشن android و ios

قسمت سوم بوت کمپ زعفران ساخت اپلیکیشن android و ios

قسمت چهارم بوت کمپ زعفران ساخت اپلیکیشن android و ios

 

نرم افزار گستر زعفران قصد دارد کلاس های غیر حضوری خود را به صورت آنلاین برگزار نماید. با ثبت نام در این کلاس ها از 3 لایسنس رایگان به ارزش دو میلیون تومان برخوردار خواهید شد.

با مراجعه به سایت زعفران از شرایط ثبت نام به همراه تخفیف ویژه مطلع شوید.

گیت هاب زعفران

تلگرام زعفران

لینکدین زعفران

متن مصاحبه : 

کارشناسان.نت : با سلام خدمت دوستان عزیز، امروز آمدیم شرکت نرم‌افزارگستر زعفران در خدمت مهندس سپهر راجع به SDK  زعفران می‌خواهیم صحبت کنیم که دارای قابلیت کد نوشتن و دریافت خروجی ویندوز و مک و iOS و android می باشد .مهندس یک سلامی به بینندگان بدهید تا به قسمت سوالات برسیم.

مهندس سپهر : سلام عرض می‌کنم خدمت شما. امیدوارم بتوانم با این توضیحاتی که می‌دهم راهنمایی داشته باشم برای کسایی که می‌خواهند تولید نرم‌افزار داشته باشند، یا وارد این حوزه در تولید نرم‌افزار بشوند. من مورد به مورد با شما پیش می‌روم.  سر سوالاتی که می‌آید و توضیحات کامل را برای هر کدام از موضوعات می‌دهم.

کارشناسان.نت : من فقط یک موضوعی را توضیح بدهم که ما یک فیلم کامل هم داریم که در بحث فنی دوستان می‌توانند آن فیلم را کامل در وب‌سایت ببینند برای آشنایی با SDK زعفران. فقط اینجا ما الآن یک سری سوالات خیلی مهمی که هست من سعی می‌کنم از آقای مهندس بپرسم که دوستانی که می‌خواهند از این SDK استفاده کنند، بیشتر با این SDK آشنا بشوند. مهندس من این طور که فهمیدم این SDK دارد در پشت صحنه از Adobe Animate استفاده می‌کند. کار اصلی Adobe Animate چیست؟ منهای زعفران، خودش چه کاری انجام می‌دهد؟

مهندس سپهر : یک نکته که در زعفران وجود دارد، تمایزش با ابزارهای تولید نرم‌افزار اتفاقاً همین محیط Adobe Animate است. محیط Adobe Animate محیطی هست که پشتوانه آن کامل در دست شرکت Adobe است و یک محیط نسبتا مشابه سایر نرم‌افزارهای گرافیکی Adobe است مثل Photoshop و Illustrator . به علاوه این‌که قابلیت انیمیشن‌سازی را می‌دهد. و سابقه این ابزار عملاً بیشتر از بیست سال است که چنین پلتفرمی وجود داشته و توسعه پیدا می‌کرده که اخیراً هم به دست شرکت Adobe تحت عنوان Adobe Animate رشد پیدا کرده است. اگر بخواهم یک گریز کوچک بزنم، اگر شما بازی‌های Flashy یا انیمیشن‌های Flashy ده سال پیش یا پنج سال پیش را دیده باشید، که تحت وب هم بودند، این ابزار توسعه یافته همان محیط است.

کارشناسان.نت : من یادم است نامش Adobe Flash بود. این الآن بعد از آن آمده است.

مهندس سپهر : بله، بعد از آن آمده است. چون الآن Flash از روی وب به طور کامل حذف شد. Adobe همان تکنولوژی را با همان امکانات ساخت انیمیشن و گرافیکی که می‌توانست ادامه بدهد را به اسم Animate ارائه داد. ولی نقطعه ضعفی که در محیط Adobe Animate وجود داشت، عملاً ضعف محیط کدنویسی پروژه بود. که هم کار را برای کسانی که می‌خواستند bookmaker درست بکنند، سخت می‌کرد یا بیشتر در کارهای گرافیکی خلاق بودند که از این افراد در جامعه خیلی زیاد داریم، که ایده‌های گرافیکی، ایده‌های خلاق تصویری و بصری دارند. ولی محیط Adobe Animate امکان اینکه داخلش کدنویسی انجام بشود را دارد، اما به صورت خیلی محدود. حالا ما در اجرا هم داشتیم نمونه‌ای که نشان می‌دادم، خود محیط کدنویسی Adobe Animate ضعف‌هایی دارد.

کارشناسان.نت : Actionscript را می‌گویید؟

مهندس سپهر : بله. اصلا آن زبان برنامه‌نویسی که پشتش می‌تواند بنشیند، Actionscript 3 هست. شباهت به Java Script دارد و از نظر معماری شبیه Ecmascript 6 است. که حالا react و angular برای کدنویسی از آن استفاده می‌کنند. منتها ضفعی که داشت یکی از بابت محیط کدنویسی بود که محیط آن خیلی پیچیده بود و خب کدنویسی Actionscript 3 پیچیده است. برای کسی که می‌خواست multi video کار بکند، این محیط ایده‌آل نبود که عملاً بین تولیدکننده‌های نرم‌افزار فاصله انداخته است. کما اینکه تجربه تولید نرم‌افزار موبایلی با این محیط خیلی محدود بوده و هست.

شاید بعضی وقت‌ها برنامه‌نویس‌های بازی مشغول آن می‌شدند. ما در مجموعه خودمان به خاطر آن که می‌خواستیم آن خلاء را پر کنیم، بتوانیم Application های گرافیکی پر از افکت تولید کنیم، این به خاطر تیم توسعه‌ای بود که از اول مستقر بودند و تجربه‌های تولید multimedia و بازی را داشتند و می‌خواستیم همان تجربه را انتقال بدهیم. آن موقع، حدوداً هفت سال پیش، ابزار توسعه نرم‌افزار موبایلی به این صورت نبود و متفاوت بود و کیفیت‌ها هم به این حالت الآن نبود. و ما به خاطر این مساله به این سمت رفتیم که محیط Adobe Animate را که در آن زمان اسمش Flash بود را توسعه بدهیم و رشد بدهیم و بتوانیم تمام کتابخانه‌هایی را که یک Developer برای تولید Application لازم دارند را به مرور به آن اضافه کنیم.

و موازی با ابزارهای دیگه که داشتند رشد می‌کردند ما هم جلو آمدیم. تا به نقطه‌ای رسیدیم که شرکت‌های دیگر هم SDK های دیگری تولید کردند، Android Studio را داریم و پلتفرم‌های دیگر. و با وجود آن‌ها همچنان این SDK زعفران که از محیط Adobe Animate استفاده می‌کند، در دنیا قابل رقابت است. الآن افرادی را داریم که شانسی توانستند پیدا کنند، چون ما داخل مجموعه استفاده می‌کردیم و برای source درخواست داده بودند. از چین، استرالیا، کانادا. افرادی بودند که کتابخانه‌ای می‌خواستند که در محیط Adobe Animate وجود نداشت. و امکاناتی را ارائه می‌دهد که در خیلی از محیط‌های برنامه‌نویسی دیگر وجود ندارد، مثلاً می‌توانید از روی محیط یک کامپیوتر خروجی مستقیم برای همه زبان‌ها Android، iOS، دسکتاب و....

کارشناسان.نت : آنطور که متوجه شدم می‌شود یک بار نوشت خروجی android، iOS، Mac و ویندوز گرفت.

مهندس سپهر : بله. از روی همانinterface  , دقیقا همان چیزی که کاربر می‌بیند را خروجی می‌گیرد. که ما با SDK زعفران کاری کردیم که بتواند resolution های مختلف را هم پوشش دهد. تمام ابزارها، توابع، کتابخانه‌ها که برای تولید نرم‌افزار موبایل لازم هست را ما بعد از تقریباً هفت سال تجربه تولید استارتاپ، تولید نرم‌افزارهای موبایلی تحت مجموعه‌ی دیگه‌ای که زیرمجموعه گروه M-team است. تحت شرکت مطهر. نرم‌افزارهایی که تولید شدن را تحت عنوان انواع اقسام library داریم و همه آنها تحت این کتابخانه‌های زعفران ذخیره‌سازی شدند و موردی پیش نمی‌آید که یک توسعه دهنده نرم‌افزار، نیاز داشته باشد و ما در کتابخانه زعفران نداشته باشیم.

و تمام این کتابخانه‌ها به کمک محیط Adobe Animate تغذیه می‌شوند. تمام گرافیک و اینترفیس مثل منو و لیست و هرچیزی که قرار است در صفحه به کاربرها نشان داده شود، کاملاً در محیط گرافیکی نمایش داده می‌شود و نقاشی می‌شود و این امکان را می‌دهد کسی که خیلی ذهن کدنویسی هم ندارد، ما داریم کسانی که کدنویس هستند و از این ابزار استفاده می‌کنند، ولی شاید بیشتر برای کسانی جذاب باشد که نمی‌خواهند وارد محیط کدنویسی بشوند و Application تولید کنند. می‌خواهند از UX Design و Graphic Design و طراحی صفحات و این موارد وارد تولید نرم‌افزار موبایل بشوند. این چیزی هست که در هیچ پلتفرم تولید نرم‌افزاری وجود ندارد. نزدیک‌ترین به آن محیط‌های Unity هست که معروف است که خب خیلی روی سیستم بار می‌اندازد و سنگین است و نسخه‌های پولی هم هستند به راحتی هم نمی‌شود از آن‌ها استفاده کرد حتی در خود ایران. 

کارشناسان.نت : حالا اگر یک نفر بخواهد کار را شروع کند، برای شروع شما کلاس آموزشی هم دارید. درست است؟

مهندس سپهر : بله. البته این را هم بگویم. شرکت نرم‌افزارسازی زعفران به واسطه همین پلتفرمی که تولید کرده است، برای همین ابزار دانش‌بنیان شده است. و به خاطر این موضوع، ما از طرف معاونت علمی ریاست جمهوری، حمایت می‌شویم. تخفیف‌هایی را برای ثبت‌نام دوره‌ها گذاشتیم

کارشناسان.نت : هزینه‌اش چقدر است؟ و این دوره چند ماه است؟

مهندس سپهر : ببینید ما صاحب خود همین SDK هستیم. کسی که وارد دوره می‌شود هر مساله که باشد درجا هر ویژگی که بخواهد را می‌بیند و مرحله به مرحله با ما جلو می‌رود. کما اینکه بعداً خودش هم می‌تواند توسعه این SDK را ادامه بدهد. ما کنار دوره آموزشی لایسنس های خود SDK را هم به هر کس می‌دهیم.

یعنی هر کس که کلاس حضوری ثبت نام کند، فعلاً 5 لایسنس به هر کس که ثبت نام حضوری انجام بدهد می‌دهیم. 3 لایسنس هم برای غیرحضوری‌ها. کلاس‌های حضوری به صورت 15 نفره برگزار می‌شود که هزینه‌ای که برآوردشده به علاوه ویژگی‌هایی که به آن‌ها می‌دهیم 3.400.000 تومان است که با 60 درصد تخفیفی که معاونت در نظر گرفته است، 1.340.000 (60% معادل 1.360.000 تومان است.) تومان است. کد تخفیف را هم داخل سایت قرار دادیم. که هنگام ثبت نام کلاس اگر کد را وارد کنند این مبلغ کم می‌شود.

کارشناسان.نت : چند ساعت است؟

مهندس سپهر : 8 جلسه است که آن را به سه قسمت تقسیم کردیم. قسمت اول آموزش محیط Adobe Animate. قسمت دوم SDK که با آن یک نرم‌افزار تولید کنند. و بعد مهارت‌های کدنویسی در حد نیاز. فکر می‌کنیم یک ماه و نیم  طول بکشد. چون یک فاصله (break) هم بین آن می‌گذاریم. 24 ساعت آموزش است. به صورت فشرده هم داریم که روزهای جمعه است که دو جلسه‌ای که در طول هفته برگزار می‌شود، روز جمعه برگزار شود. که عین همین را به صورت مجازی سر تاریخ 16 آبان گذاشتیم که اولین دوره غیرحضوری ما برگزار می‌شود.

که به صورت غیرحضوری و live دوره برگزار می‌شود و پرسش و پاسخ وجود دارد که قیمت آن با تخفیفی که در نظر گرفته می‌شود (60 درصد تخفیف)، حدود 600 هزار تومان است (در سایت موجود است). 1.500.000 تومان مبلغ اصلی دوره است که هر کسی که ثبت‌نام کند، سه لایسنس زعفران را می‌گیرد. در اینجا پرانتز باز کنم که هر لایسنس اجازه Publish یک نسخه از هر نرم‌افزاری را که با یک آی‌دی درست می‌کنید برای android و iOS در فروشگاه‌های مختلف می‌دهد. تا قبل از آن، امکان کسی Publish را ندارد. چون ما تنها plan درآمدزایی که برای خودمان گذاشتیم این هست، چون ما داریم سورس SDK را رایگان می‌دهیم.

افراد حتی می‌توانند آن را گرفته و رشد دهند. برای اینکه کسی استفاده می‌کند خیالش راحت باشد که حتی به فرض اگر شرکت ما هم نبود، source تماماً باز است.  کاری که همه SDK ها می‌کنند. React و مشابه آن همه به همین صورت هستند. Source را باز می‌گذارند، Planهای درآمدری آنها متفاوت است. ما در کنار لایسنسی که می‌دهیم، پنل Analytic برای نرم‌افزار می‌دهیم که فرد می‌تواند تعداد نصب‌ها و دانلودها را ببیند. و موضوعی که خیلی لازم می‌شود، می‌تواند نسخه‌های قدیمی‌تر را قفل کند و کاربر را به نسخه جدید هدایت کند. بدون اینکه نیاز داشته باشند که کد سروری یا اصلاً کد خاصی بنویسند. هر کسی یک بروشور هم درست کند، می‌تواند از این ویژگی‌ها کنار آن لایسنس‌ها استفاده کند. که عرض کردم کسی که در کلاس‌ها ثبت‌نام کند این‌ها رایگان در اختیارش قرار می‌دهیم. 

کارشناسان.نت : غیر از کلاس‌ها قیمت هر لایسنس چقدر است؟

مهندس سپهر : قیمتی برای لایسنسها کارشناسی شده است، به ازای هر Application که نسخه مادام‌العمر android و iOS داشته باشید. خیلی وقتها یک نرم‌افزار تولید می‌شود و توسعه پیدا می‌کند. نسخه 2 و 3 و... . مبلغ 2 میلیون تومان در نظر گرفته شده که با پنل و امکاناتی که خدمت شما عرض کردم. هم برای android و هم برای iOS و حتی Desktop، اگر بخواهید برای Desktop Application خروجی بگیرید. 

کارشناسان.نت : در آن فیلمی که بینندگان می‌توانند ببیند و با جزئیات بود. جایی بود که به وب‌سرویس وصل می‌شدیم که یک سری اطلاعات می‌آمد خیلی هم سریع توانستیم کد را بنویسیم خیلی جالب بود. بعد یک سری وب‌سرویس‌ها هم بود که مثلاً برای اداه پست مثل چک کردن کد ملی و... . شما در Plan پشتیبانی چنین سرویس‌هایی را می‌دهید یا آن‌ها جزء پشتیبانی شما نیست؟

مهندس سپهر : بعضی از وب‌سرویس‌ها پولی هستند. وب‌سرویس احراز هویت، وب‌سرویسی هست که ثبت احوال تحت شرایط خاصی به استارتاپ‌ها می‌دهد، که بحث آن موضوع دیگری است. ولی ما بعضی از این وب‌سرویس‌ها، مثلاً وب‌سرویس‌های گوگل، که خیلی عمومی‌تر هستند، که حتی بعضی از آن‌ها هم پولی هستند. تابع‌های interfaceهای آن‌ها را به صورت آماده در زعفران گذاشتیم. ثبت احوال کار خاصی ندارد. اگر دسترسی‌اش را بدهند، قابلیت این را دارد که کد ملی را می‌گیرد و تاریخ تولد را با هم چک می‌کند و یک تأیید برمی‌گرداند.

اصل کار در بعضی از وب‌سرویس‌ها خود آن سرویس است. ولی خیلی وقت‌ها هم مثل سرویس‌های گوگل به این صورت است که یک کارکتر مثلاً تهران را تایپ می‌کند که می‌گوید شهر تهران و یک لیست برمی‌گرداند. این را ما آماده در خود زعفران گذاشتیم. یا بعضی از کتابخانه‌های native مثل media player که اگه کاربری media player را داشته باشد، این media player که عرض می‌کنم، media player شرکت دیگری است که ارائه می‌دهد و پولی است، یا سرویس‌های location که گوگل آن‌ها را نیز پولی کرده است. کسی آن‌ها را داشته باشد و بخواهد استفاده کند، تابع‌های آماده‌اش وجود دارد و که به تابع گوگل اسم شهرش را می‌دهد و لیست را به صورت json که عملاً object لیستی برمی‌گرداند.

خیلی از این‌ها را ما اینترفیسش را آماده گذاشتیم. بعضی از آن‌ها را هم، خیلی ساده هستند. چون ما ابزاری را در این طرف ارائه می‌دهیم به خود توسعه‌دهنده‌ها که خروجی وب‌سرویس‌ها را (interface وب‌سرویس‌ها را) برای کسایی که کدنویسی سرویس انجام می‌دهند، ابزار postman استفاده می‌کنند برای تست وب‌سرویس، همان وب‌سرویس‌ها را می‌گیرد و تبدیل می‌کند به کدهای خود Actionscript و استاندارد برای خود زعفران که توسعه‌دهنده اصلاً نمی‌فهمد که چه پارامترهایی بود، سرویس کجا بود، خیلی راحت در محیط کدنویسی اسم وب‌سرویسی که توسعه‌دهنده وب گفته است را تایپ می‌کند، یک نقطه می‌زند، لیست تمام dataهایی که از سرور load کرده را به صورت Auto Complete راحت load می‌کند. ما سعی کردیم به خاطر تجربه‌ای که داشتیم و نیاز خودمان، استفاده از وب‌سرویس‌ها را کلا راحت کردیم. بحث دوم بحث خریدش است که یک بحث جداست. وب‌سرویس رایگان زیاد داریم. 

کارشناسان.نت : یه بحثی که هست، بحث پشتیبانی از ورژن android و iOS است. Minimum Version که شما support می‌کنید، چیست؟

مهندس سپهر : بحث Minimum Version برمی‌گردد به فروشگاه‌های بین‌المللی. الآن گوگل  اگر اشتباه نکنم ورژن 6 به قبل، و پردازشگر 32 بیتی را اگر اشتباه نکنم، کلاً Support نمی‌کند. اگر کسی گوشی قدیمی داشته باشد، حتی ممکن است از یک نسخه به قبلش، 4 به قبل اصلاً هیچی، خود google play هم با مشکل مواجه شود. یعنی می‌گوید که شما support نمی‌شوید. و خیلی از نرم‌افزارها را نسخه قدیمی نیاورد و الآن خود google play اجازه publish نسخه‌های قدیمی را که می‌توانند اندروید 2 را support می‌کند، نمی‌دهد.

ولی سیاست ما به این صورت بوده که بتوانیم نسخه‌های 2 را پوشش بدهیم. ما کتابخانه SDK که برای compile استفاده می‌کنیم، ورژن‌بندی دارد، که آن را هم Adobe دارد می‌دهد، از ورژن 17 که برای android 2 بوده، موجود است، تا 30. 33 که الآن اومده که 64 بیتی هم support می‌کند. ولی به خاطر همین که فروشگاه‌ها در آخر محدود می‌کنند، Apple هم همین‌طور، از iOS 10 به قبل خودش اجازه Publish، نمی‌دهد، ما سعی می‌کنیم استانداردهای آن‌ها را رعایت کنیم و برای Publish روی google play چاره‌ای هم نیست، در آخر Developer به استانداردهای خود آن‌ها محدود می‌شود. وگرنه یک کاری که برای خود ما مهم بوده، این بوده که تمام نسخه‌ها، نسخه‌های قدیمی را، حتی Publishهای ورژن‌های Application های قدیمی را ما بتوانیم ادامه بدهیم. کسی اگر گوشی قدیمی‌تر هم دارد، بتواند استفاده کند. امکانش از سمت ما وجود دارد.

کارشناسان.نت : یک نکته‌ای که هست برای توسعه Apple تا آنجایی که می‌دانم، Apple ID لازم دارد باید مقداری پول بدهند. اینجا دیگه این پول و Apple ID و این چیزا دیگه...

مهندس سپهر : ما Solutionهایی داریم، هرچند همه فروشگاه‌های ایرانی Apple، Apple storeهای ایرانی هم این Solutionها را می‌دهند، یک شرکت چینی که یه فایلی به اسم mobile provision  می‌خواهد، یه مجوزی از Apple می‌خواهد، آمده است ابزاری درست کرده است، ما خودمان آموزشش را داخل سایت گذاشتیم، که با اکانت‌های رایگان خود Apple امکان گرفتن ID را به شما می‌دهد. در مرحله بعد که Publish می‌شود خب هیچ. اگر کسی می‌خواهد در Apple store آن را Publish کند که با توجه به مشکل تحریمی که وجود دارد، داستان خودش را دارد. راه حلی که ما داریم , شرکتی هست به اسم App Uploader، ما در سایت saffroncode.ir آموزشش را گذاشتیم، می‌توانند آی‌دی را بگیرند و Publish کنند. ولی من فکر می‌کنم همه فروشگاه‌های ایرانی هم خودشان، Solutionهای خودشان را به Developerهای خودشان به صورت جدا بدهند. 

کارشناسان.نت : خب راجع به کلاس و لایسنس هم صحبت کردیم. یه بحثی هم که در دمویی که نشان دادید وجود داشت، بحث authenticate و authorize کسی بخواهد از طریق گوگل و ... وارد بشود هم support می‌کند؟

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

کارشناسان.نت : یعنی حالت token base که آن وب‌سرویس بدهد، این را الآن support می‌کند یا نه؟

مهندس سپهر : بله، از بابت support ما پروژه‌ای داشتیم که کدش را برای Csharp نوشته بودند، ما به روش‌های خودمان مجبور بودیم هک کنیم، ببینیم این ارتباط به چه صورت است. برای پروژه‌های خاص پیش می‌آید. از نظر شدنی امکان‌پذیر است. یک programmer حرفه‌ای می‌تواند این کار را بکند، منتها، در حد Basic برای authorize کردن چون header وب‌سرویس‌ها خیلی مهم است. من در تابع load که استفاده کردم، Header و... استفاده نکردم. ولی کلید اصلی که خیلی وقت‌ها وب‌سرویس با آن جواب می‌دهد، آن را در همان‌جا می‌شود Set کرد. حتی وب‌سرویس‌های login هست که این‌ها را باید Developer خودش بر اساس استاندارد سرور مدیریت کند.

که اول وب‌سرویس را بدون هیچ هدری صدا می‌کند. Respondی که برمی‌گردد را از آن به بعد می‌گذارد در هدر وب‌سرویس‌ها (در حد تابع است) و از آن به بعد تمام وب‌سرویس‌هایی که زده می‌شود با آن هدری است که جلو می‌رود. چون target ما پروژه‌های enterprise است، یعنی پروژه‌های سفارشی. ما خیلی مدل‌های مختلف در مجموعه مطهر، تجربه‌ای که پشت این SDK هست را عرض می‌کنم، برای این حالت نیست که فقط یک مدل authentication انجام بدهد، تمام تابع‌ها به صورت dynamic است که بتواند، اغلب مدل‌هارو پیاده‌سازی کند، مدل‌های  socket هم داشتیم، وب‌سرویس‌های قدیمی soap هم داشتیم، حتی چیزهای عجیب و غریبی مثل UDP و این‌ها پیش آمده. همه را پیاده‌سازی کردیم. ولی الآن مدل استاندارد مدل rest full و Json هست که تقریبا هر تابعی که لازم داشته باشد را در آن گذاشتیم.

کارشناسان.نت : شما الان غیر از کلاس‌ها document هم دارید یا این document کامل نشده؟

مهندس سپهر : ببینید document به صورت java doc در source codeها هست. ولی در آخر به خاطر گستردگی، Java doc که ارائه می‌شود، کمی گیج‌کننده است. الان کاری که شرکت‌ها می‌کنند react یا SDK که ارائه می‌شود، بیشتر سوال‌محور است. یا پروژه محور. که ما الآن یک پروژه Sample را در سایت گذاشتیم. به این صورت می‌توانید یک پروژه ساده درست کنید. خیلی sample project زیاد داریم. همین طور به مرور که سوال بشود و درخواست بشود این‌ها را تکمیل می‌کنیم. الان عملا آن Java document که بخواهد همه توضیحات رو داشته باشد که ما از اول به صورت استاندارد انگلیسی آن‌ها را document کردیم.

خیلی گیج‌کننده است. به همین دلیل ما forum را راه انداختیم به علاوه یک بخش‌های آموزشی که به مرور ارائه می‌شود. کنار آموزش‌های حضوری و غیرحضوری، فیلم‌های آموزشی تکمیلی، موضوع‌محور تکمیل می‌شود و جلو می‌رود. در این 5 سال اخیر کهشروع به ساخت document شده و آنلاین هست. موردی به چندتا از افراد سرویس دادیم. مثلا بحث فارسی‌نویس بود که یک شرکت چینی بود که پیدا کرده بود و می‌خواست استفاده کند.

فقط همان فارسی‌نویس را تحویل دادیم و آموزش دادیم که به چه صورت است. بقیه جاهایی که کار می‌شده به صورت پروژه سفارسی در مجموعه‌ای به اسم مطهر بوده که برای جاهای مختلف، مثلاً برای شرکتهایی مثل شهرداری تهران، شرکت پست تا خصوصی‌ها که مثل استارتاپ‌هایی مثل fixio یا حتی پروژه‌های دیگر , پروژه‌هایی بودند که سفارشی برای آن‌ها درست شده است. و آموزش در حد پروژه آن‌ها داده شده است. چیزی که ما پیش‌بینی کردیم همان آموزش موضوع‌محور یا سوال‌محور است که کاربرها بتواند راه بیفتند. 

کارشناسان.نت : یه موضوع دیگه هم که وجود دارد، بحث پشتیبانی در آینده است، فرض کنید مثلاً کسی آمد از این SDKی شما استفاده کرد، ورژن android یا iOS بالاتر رفت. پشتیبانی شما به چه صورت است؟ برای آینده هم برنامه دارید یا نه؟

مهندس سپهر : کنار شرکت نرم‌افزارگستر زعفران شرکت مطهر هست در مرحله اول که این 7 سال گذشته برای این مجموعه کار شده و Application تولید کرده. همین مجموعه که تا الان هم 1000 نرم‌افزار Publishشده داشته که تعدادی از آن‌ها هم ممکن است غیرفعال شده باشد. و همین الان آخرین پروژه‌ای که کار شده مربوط به شرکت پست است که یک چیز شوخی‌بردار نیست.

یا اتوماسیون داخلی شهرداری تهران، شرکت‌های خصوصی مثل fixio که عرض کردم، اینا به این پشتیبانی نیاز دارند و آن شرکت هم‌چنان زنده است. ولی بدترین حالت را هم اگر بخواهم عرض کنم، چیزی هست که تمام SDKها این را رعایت می‌کنند، این هست که با باز گذاشتن source، و زبان برنامه‌نویسی، زبان برنامه‌نویسی اختراع‌شده‌ای نیست. زبان برنامه‌نویسی Actionscript زبان برنامه‌نویسی است که مستنداتش و آموزشش و قدمتش خیلی کامل است. و خیلی‌ها هستند که این نرم‌افزار را بلد هستند و می‌توانند یاد بگیرند، و خیلی هم شبیه Java Script هست.

وقتی Source این SDK باز باشد، از آن طرف، compiler ما، کامپایلری هست که خود شرکت Adobe آن را ارائه می‌دهد، یه همکاری دارد می‌کند با یه زیر مجموعه شرکت سامسونگ، نهایتاً از نظر موارد امنیتی و 64 بیت و... آن‌ها دارند مدیریت می‌کنند. SDK ما خیلی ویژوال و گرافیکی این‌ها را می‌چیند. مثلاً سایز iPhone X که دو سال پیش اضافه شد، ما باید این را در SDK خودمان اضافه می‌کردیم.

که به خاطر پروژه‌های متعددی که دارند از این نرم‌افزار استفاده می‌کنند و ما با شرکت‌هایی قرارداد داریم که به صورت جدی دارند برای توسعه نرم افزار مشتریان خودشان از این ابزار استفاده می‌کنند، و این مجموعه تا زمانی که باشد پشتیبانی SDK را دارد ولی نهایتا با باز گذاشتن Source هم این اعتماد را برای Developerها خودش ایجاد بکند که آن‌ها هم خیالشان راحت باشد که خودشان می‌توانند توسعه بدهند. این را اضافه کنم که خود آی‌دی این نرم افزاری که ما می دهیم محدودیت زمان ندارد یک موقع به فرض سرور ما قطع بشود، ارتباطی با سرور ما نداشته باشد اپلیکیشن به طور مستقل کار می کند.

کارشناسان.نت : اگر کسی بخواهد بر روی ویندوز این را نصب کند نیاز دارد آن SDK مربوط به android و iOS را نصب کند؟

مهندس سپهر : نه نیاز ندارد. فقط تنها چیزی که دانلود می‌کند Adobe Animate است و Compilerهای خود Air، مال Adobe هستند. 

کارشناسان.نت : من دیدم سمپلش روی سایتتون هست. 1- 2- 3 همان است و چیز اضافه‌ای نیاز ندارد

مهندس سپهر : نه نیاز ندارد.

کارشناسان.نت : می توانید بگویید تیم شما چند نفر بوده که روی زعفران کار کرده است؟

مهندس سپهر : همین الان روی گیت هاب 7 نفر log دارن که کار کردند تغییرات را انجام دادند رشدش دادند. هسته اصلی را خود بنده در همان مجموعه چیده‌ام که چه معماری داشته باشه. که یک دفعه‌ای چیزی دوبار تکرار نشود یا عجیب و غریب نشود ولی در کل می‌گویم از داخل خود مجموعه از بیرون خود مجموعه، تغییرات و اصلاحاتی را که می‌دادند. بیرون مجموعه را باید با ادمین خود گیت‌هاب چک بکنم، ولی داخلی ها همین الان مجموعه تیمی هستند که توسعه می‌دهند می‌گویم همین الان 7 نفر را داریم توسعه‌دهنده حرفه‌ای هستند که کد خود زعفران را در مواقعی که نیاز می‌شود رشد می‌دهند.

کارشناسان.نت : محیط کدنویسی هم که در دمو دیدیدم هم می‌شد در خود Adobe Animate اینکار را کرد هم در Visual Studio code 

مهندس سپهر : بله، خود Adobe Animate البته بیشتر برای کسانی که می‌خواهند بیشتر گرافیکی کار کنند ولی اگر کسی بخواهد کدنویسی راحت داشته باشد...

کارشناسان.نت : در VS code هم همان Actionscript بود؟

مهندس سپهر : بله Actionscript و VS code، Intellij Idea دو ویرایشگر محبوبی هستند که به علاوه idea ‌های دیگری هستند، ولی این دو شناخته شده‌اند که هر دوی آن‌ها Actionscript را به علاوه کتابخانه‌ای که زعفران دارند همه را می‌شناسند.

کارشناسان.نت : به هر حال چیزی که دیدم برای برنامه‌هایی که مثل برنامه های آموزشی عالی بود و گرافیک فوق‌العاده‌ای داشت.

مهندس سپهر : بله، فکر می‌کنم این نقطه کور مانده مخصوصاً انتشارات‌های آموزشی یا شاید بگوییم کسانی که 10 سال پیش، من خیلی کم می‌بینم، سی‌دی دیگر خیلی معنی ندارد، و 5 سال است که عملاً حذف شده است. آن کسانی که این‌ها را تولید می‌کردند، خیلی سریع، می‌توانند برگردند به توسعه این ابزارها یا نرم‌افزار‌ها برای موبایل‌ها.

کارشناسان.نت : در ایران غیر از شما، کسی چنین کاری انجام داده است؟ من هرچقدر فکر می‌کنم یادم نمی‌آید شرکتی ابزار برنامه‌نویسی بفروشد.

مهندس سپهر : بله، ابزار برنامه‌نویسی خیلی محدود است به این دلیل که روی این موضوع سرمایه‌گذاری نمی‌شود. وقتی که ما می‌خواستیم شروع کنیم خیلی عجیب و غریب برخورد می‌شد که وقتی SDKهای دیگر هست، شما چرا دارید از صفر اجرا می‌کنید و... . شاید آدم بخواهد از الان هم فکر بکند، نیاید به این امید که SDK خودش را بنویسد کار بکند، ما می‌خواستیم پروژه‌های خودمان را راه بیاندازیم. نشان به این نشان که وقتی ما این پروژه را استارت زدیم، هم SDKهای android دور ریخته شد از اول نوشته شد، یعنی کسانی که کدهای قدیمی اندرویدی داشتن، دور ریختند و دیگر به دردشان نمی‌خورد و باید از اول می‌نوشتند.

حتی SDKهای دیگر بر روی همین زبان Actionscript. و عملاً به نحوی از دور خارج شدند. و چیزی که پیش رفت، به خاطر مجموعه بود وسفارش‌های نرم‌افزاری متنوعی که می‌آمد، موازی با این موضوع، روی این تمرکز شد که به صورت کتابخانه جمع بشوند و بعد از یکپارچه شدن، تحت عنوان SDK تولید نرم‌افزار موبایل برای توسعه‌دهنده حرفه‌ای ارائه شد. وگرنه نمونه‌های مشابه (نزدیک‌ترین‌ها) Appسازها هستند، Appساز همانطور که می‌دانید یک Application خاص با یک محیط مشخص، می‌تواند خروجی بدهد.

کارشناسان.نت : کدنویسی ندارند؟

مهندس سپهر : نه. 

کارشناسان.نت : قشنگ وصل می‌شد به سرویس و دیتا را می‌آورد و

مهندس سپهر : بله کاملاً کدنویسی، یعنی زبان پایه خود این SDK که Actionscript هست را می‌توانید کامل بنویسید. و یا اینکه از تابع‌ها استفاده کنید. یا اینکه کتابخانه خود زعفران را هم override بکند، تغییرش بدهد، توسعه بدهد.

کارشناسان.نت : ابزارک هم دارید؟ مثل تقویم فارسی و... 

مهندس سپهر : بله این‌ها تحت یک سری کتابخانه در خودش هست، مثلا تقویمی که فرمودید، تقویم شمسی را یک interface هست که من نشان دادم، یک مربع رسم می‌شود، خیلی وقتا به این صورت است که مثلا می‌خواهم این دوربینم باشد، که دوربین گوشی یا دسکتاپ می‌آید داخل باکس نشان می‌دهد. که حرکت کند در انیمیشن، سر جایش می‌ماند. خیلی از این‌ها را داخل کتابخانه داریم که مستقل است. ویرایشگرعکس هست، video player یا zoom تصویر، نمایش تصویرهای سه‌بعدی کروی، خیلی چیزها به صورت کتابخانه‌ای وجود دارد که به خاطر تنوع به ذهن من نمی‌رسد، ولی تقویم که فرمودید بله، یک نمونه‌اش تقویم شمسی است که support می‌کند تمام تقویم‌های از گذشته تا الآن، تقویم‌هایی که خود کامپیوتر می‌شناسد. 

کارشناسان.نت : فقط به دوستان بگویم در فیلم دمو که دیده شد، یک سری امکانات native مثل کار با sensorها هم support می‌شود، notification و نقشه گوگل هم تا حدود خیلی خوبی، support می‌شود. مهندس خیلی ممنون، دست شما درد نکند. 

مهندس سپهر : خواهش می‌کنم.

کارشناسان.نت : اگر در آخر جمله‌ای مانده که خوب است، می‌توانید بگویید که ما خداحافظی کنیم.

مهندس سپهر : سلامت باشید. وبسایت خود زعفران هست، شما لینکش را هم می‌گذارید.

کارشناسان.نت : ما حتما لینک شما را در وبسایت خودمان هم می‌گذاریم، هم sample شما و هرچیزی که هست، که بیننده‌ها بخواهند بیایند، بتوانند ببینند.

مهندس سپهر : هر موردی هرکسی داشته باشد، می‌تواند در Forum، در فرم contact هست، بپرسند. آزاد است. بحث این است که می‌خواهیم تا حدودی برای کسانی فریلنسر هستند که می‌خواهند به بازار کار ورود کنند، راحت کنیم. این است که از محیطش سعی کردیم خیلی جدی و رسمی جلو برویم، به خاطر اینکه ما داریم خودمان را بین‌المللی نشان می‌دهیم.

کارشناسان.نت : الآن شما مشتری خارجی هم دارید؟

مهندس سپهر : به دلیل اینکه از نظر حقوقی شرکتی خارج از ایران نداریم، با همان لایسنس Git Hub و خیلی کوچک به صورت Private داریم می‌دهیم. وقتی بخواهیم پول دریافت کنیم، مسائل حقوقی کمی مشکل می‌شود. تا قبل از آن به همین صورتی که در ایران، به صورت free همه می‌توانند استفاده بکنند، کتابخانه را دارند و به آن‌ها نیز جواب می‌دهیم. در خود Forumهای Git Hub هست یا جاهای دیگری که قبلا با آن‌ها در ارتباط بودیم. ولی به این صورت که ما بتوانیم SDK کامل به آن‌ها بدهیم. بعد از آن آموزش و... . یک ذره باید جا بگیرد و ما از آن طرف هم، این تبلیغ می‌کنیم وبه صورت بین‌المللی بیان می‌کنیم و فیدبک داریم، هستند شرکت‌هایی که کار می‌کنند. همانطور که گفتم یه شرکت استرالیایی بود، چند نفر هم در خود Adobe کار می‌کنند، در جریان هستند، نوبت این بشود که ما بتوانیم، مساله حقوقی را برطرف کنیم که بتوانیم فروش بین‌المللی را راه‌اندازی کنیم.

کارشناسان.نت : ابزار خیلی خوبی است. چیزی که ما دیدیم، خیلی جالب بود. خیلی ممنون. متشکر از اینکه وقتتان را در احتیار ما قرار دادید. متشکرم.

مهندس سپهر : خواهش می‌کنم. دست شما درد نکند.