برنامه‌های تحت وب برای امروز و فردا

    برنامه های تحت وب یا همان Web Application ها از زمان پیدایش وب وجود دارند و با صفحات Static و ثابتی آغاز شده است. اما اینک کاربرد و قابلیت های وب و Web App ها از آن زمان تغییر کرده است.

    نکته: منظور از Native App ها در سراسر این مقاله برنامه های محلی دستگاه های همراه اعم از Android, iOS, Blackberry و… همچنین برنامه های سیستم عامل ها کامپیوتر های شخصی مثل Windows, Mac, Linux و… میباشد.

    فروشگاه ساز

    فروشگاه اینترنتی و وب سایت خود را به سرعت با سایت ساز سی می پلاس بسازید

    خودتان را اینجا معرفی کنید


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

    برنامه های Native یا همان برنامه های محلی هر سیستم عامل عموما توانسته اند که هر چهار فاکتوری که در بالا ذکر شد را یک جا داشته باشند، اما Web App اغلب سرعت کمتری و همچنین دسترسی سخت تری نسبت به Native App ها دارند. آیا Web App ها و وبسایت ها را کنار بگذاریم  و همه به سمت برنامه های Native برویم؟ بر هر پلتفرم از Desktop تا Mobile گرفته یک App توسعه دهیم و ادامه ماجرا… اما صحبت از این فاکتور ها  فقط کلی گویی است و جانب داری از یک پلتفرم است.

    بهتر است که یک به یک قابلیت های اساسی Web App ها و Native App ها را بررسی کنیم.

    مزیت های برنامه های محلی یا Native App ها:


    قابلیت نصب (Installable): این نرم افزار ها از طریق App Store ها قابل نصب هستند و به راحتی با یک Tap یا Click از منو یا Desktop کاربر قابل دسترس هستند که این خود به تنهایی احساس خوبی به کاربر میدهد که وقتی یک آیکون زیبایی باشد که با کلیک بروی آن یک برنامه بدون دیدن Component های مزاحم مرورگر (از قبیل: نوار آدرس، Bookmark ها، Status Bar و…) اجرا میشود.

    دسترسی همیشگی (Online or Offline): نیاز به اینترنت، اینک در همه جا و همه زمان احساس میشود اما اینکه در صد درصد مواقع و مکان اینترنت وجود داشته باشد امری غیر ممکن است این آزاردهنده است که برنامه های تحت وب فقط با اتصال به اینترنت اجرا میشوند ولی برنامه های Native اینگونه نیستند و در نبود اینترنت هم میتوانند برخی Functionality خود را حفظ کنند.

    درگیر کردن کاربر (Engaging User): اینکه کاربر برای اولین بار از برنامه ما استفاده کند نیمی از بازی است. اما چه کنیم تا کاربر مراجعات بعدی و استفاده های بعدی از برنامه ما داشته باشد؟! در برنامه های Native این امر با Notification هایی که حتی وقتی کاربر در حال استفاده از برنامه نیست، به کاربر اعلان میدهند و کاربر را به برنامه میکشانند اما در Web App ها این امر ممکن نیست و عموما با ایمیل، شبکه های اجتماعی و حتی شوق و تجربه شخص کاربر برای استفاده مجدد از برنامه و… انجام میشود.

     سرعت بالا(Speedy): اصولا کد های Native بهتر از کد های Web اجرا میشوند و دسترسی بهتری به منابع دارند. در یک کلام وبسایت ها کند هستند ولی برنامه های Native سریع هستند.

    با تمام تفاسیر بالا در ابتدا قرار شد که مزیت های هر دو را بررسی کنیم پس به سراغ مزیت های Web App ها میرویم.

    مزیت های برنامه های تحت وب یا Web App ها:


    قابلیت لینک شدن (Linkable): قابل اتصال به دیگر برنامه های وب با یک URL بدون اینکه نیاز به دسترسی خاصی از دستگاه کاربر باشد. که این امر در برنامه های Native موجود نیست و باید برای تک تک کارهایی که میخواهید انجام دهید Permission از  کاربر بگیرید.

    چیدمان واکنش گرا (Responsive Layout): با ابزار های زیادی مثل: Media Query ها و… میتوانید چیدمان های پیچیده ای بسازید که فاکتور های زیادی مانند: رزولوشن، اندازه Screen،جهت دستگاه (Orientation) یا حتی نوع دستگاه(تبلت، موبایل، دسکتاپ، پروژکتور و…) را میتوانند به عنوان محوریت تغییر و واکنش قرار دهند، در اصل Layout اولیه سایت است که تغییر میکند و نه چیدمان اجزا تشکیل دهنده(منظور تغییر در کد های HTML) که این امر باعث میشود که تمرکز بروی محتوا و همچنین یکپارچگی محتوا بالا برود.

    داده محور (Data Centric): با HTML که یک زبان غنی است میتوان داده های معنا دار (Semantic) و ساختار مندی ساخت که هم برای انسان مفید باشد و هم برای ماشین قابل فهم باشد. وب برای ساخت داده ها و اطلاعات فوق العاده ترین ابزار است.

    امن(Secure): وب امکانات زیادی برای ساخت برنامه های امن در اختیار قرار میدهد از قبیل Same-Origin Policy یا Single-Origin Security Model و همچنین پروتکل امن SSL یا همون HTTPS که سطح قابل توجهی از امنیت را در اختیار قرار میدهد. با این راه حل ها ساخت برنامه های امن بسیار راحت تر شده است.

    چند سکویی(Multi-Platform): برنامه های تحت وب در تمام سیستم عامل ها از قبیل موبایل یا دسکتاپ بدون تغییر در کد کار و این خود بزرگترین مزیت است زیرا نیاز نیست که برای هر پلتفرم یک برنامه مجزا نوشته شود.

    با گفتن مزیت هر پلتفرم دریافتیم که هر یک برتر هایی در یک حوزه نسبت به دیگری دارند و همچنین دریافتیم فاصله و شکاف باریکی بین Web App ها و Native App ها وجود دارند.

    در سال های اخیر و با رشد تلفن های همراه راه حل ها و تکنولوژی های زیادی ارائه شدند و هر یک در صدد این بودند که آن شکاف موجود بین این دو پلتفرم را از بین ببرند.

    در زیر لیستی از این راه حل ها و تکنولوژی ها را میبینیم با توضیح مختصر:

     

    Mobile Version Sites: این اولین راه حل و ساده ترین راه حل در حوزه Mobile Web به شمار میرود که دو نسخه از سایت یکی برای Desktop و یکی برای دستگاه های همراه که در URL هایی همانند m.domain.com یا domain.com/mobile و… ساخته میشد و توسط User Agent هر کاربر به نسخه بهینه سوق داده میشد.

    اشکالات:

    • قابل نصب نیستند.
    • سرعت خوبی ندارند.
    • وابسته به اینترنت هستند.
    • کاربر را برای مراجعات بعدی درگیر نمیکنند.
    • چند نسخه از سایت باید ساخته شود.


     

    RWD , AWD:
    طراحی واکنش گرا که پس از رشد سریع موبایل های هوشمند، تبلت ها و همچنین زیاد شدن رزولوشن ها و چگالی های پیکسلی بالا از طرف W3C ارائه شد و نیمی از دغدغه ها و فاصله ها را از بین برد.

    اشکالات:

    این روش فقط مشکل Layout تطبیق پذیر را حل کرده است و همچنان دیگر دغدغه ها باقی هستند.

     SPA برنامه های وب تک صفحه ای: برنامه هایی که در یک صفحه تمام عملیات انجام میشود و Request ها و Response ها با AJAX و Rest API ها Handle میشود. از فریم ورک های انجام این کار میشود به Angular و Backbone و Ember و… اشاره کرد.

    اشکالات:

    • قابل نصب نیستند.
    • سرعت Load در آن ها همانند وبسایت ها است.
    • وابسته به اینترنت هستند.
    • کاربر را برای مراجعات بعدی درگیر نمیکنند.




    Hybrid Apps یا برنامه های ترکیبی: برنامه هایی که با تکنولوژی ها و زبان های وب ساخته میشوند و با یک فریم ورک یا نرم افزار Pack میشوند و توسط یک Web View به صورت یک برنامه Native بروی سیستم کاربر نصب و اجرا میشوند. از این فریم ورک ها یا نرم افزار ها میتوان به Cordova, Phonegap, Ionic برای موبایل و سیستم عامل های Smart Handheld و Electron برای سیستم عامل های Desktop اشاره کرد. این روش همچنین میتوانست به دو روش به منابع سیستم کاربر دسترسی داشته باشد HTML5 API ها و API هایی که آن فریم ورک در اختیار قرار میدهد.

    اشکالات:

    • سرعت خوبی ندارند.
    • Crash کردن در این برنامه ها معمول است.
    • لینک شدن به دیگر برنامه های نصب شده و همچنین به وب سخت است.




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

    Optimized Mobile Pages: این روش ها که از چندتای آن ها میتوان به Accelerated Mobile Pages یا Google AMP توسط گوگل و Facebook Instant Article توسط فیسبوک اشاره کرد.

    توسط این تکنولوژی و پروژه ها و به وسیله استاندارد های تعریف شده درون آن ها نسخه ای از محتوایتان را آماده کنید تا مخاطب شما با سرعت بیشتر و بهتری صفحات شما را مشاهده و مطالعه نمایند. منظور از سرعت: سرعت بارگذاری (Load) صفحات، سرعت پیمایش و کارکردن این صفحات و سرعت مطالعه می باشد.

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

    • Prefetching
    • Preconnecting
    • Prerendering
    • Preloading




    اشکالات:

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




    اما کلی صحبت کردیم و از دغدغه ها گفتیم و مشکلات گفتیم و راه حل هایی را با هم بررسی کردیم که هر کدام تلاش بر این داشتند که مشکلات را رفع کنند و فاصله بین Web App ها و Native App ها را از بین ببرند اما هنوز برخی مشکلاتی از قبیل سرعت، درگیر نکردن کاربر، قابل نصب نبودن و… که هر کدام دغدغه های اصلی هستند.

    راه حل چیست؟

     


    وب


    کد QR دسترسی به این مطلب

    طراح UI, UX و توسعه دهنده وب و موبایل از ۸۶ فعالیت توی این حوزه رو شروع کردم و علاقه زیادی به Javascript دارم و توی استدیو ریسمون روی استارتاپ شخصیم کار میکنم.

  • دانلود آهنگ قدیمی امیر علی خط و نشون ۱
  • دسته: موزیک

    این مطلب از وب سایت و زسانه بزرگ آپ موزیک رپورتاژ گردیده است.

    دانلود آهنگ قدیمی امیر علی خط و نشون 1
    موزیک قدیمی و شنیدنی و ماندگار خواننده امیرعلی بنام خط و نشون 1 همراه با متن آهنگ و کیفیت عالی

    ترانه سرا / آهنگسازی : امیر علی /  تظیم کنندگان : امیر علی ، دیجی بلک زینگ و سعید ساشا

    Download Old Song  Amir Ali – Khato Neshon Direct Link MP3 In UpMusics

    amir ali khat دانلود آهنگ قدیمی امیر علی خط و نشون 1

    ♪♪♫♫♪♪♯

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

    UpMusicTag دانلود آهنگ قدیمی امیر علی خط و نشون 1
    راهی که میری همه خط کشی هاشو خودم کشیدم ♫
    برو قصه بساز واسه یه نفره دیگه که من پریدم♫
    منو سیاه نکن مگه نمیدونی عمریه ذغال فروشم ♫
    منو میترسونی بابا گرگمو لباس بره میپوشم ♫
    تو خیال میکنی که من بردهو غلام حلقه به گوشم ♫
    میگی عاشقمی آخه عاشق اینجوری من که ندیدم ♫
    راهی که میری همه خط کشی هاشو خودم کشیدم ♫
    برو قصه بساز واسه یه نفره دیگه که من پریدم ♫
    میگی عاشقمی آخه عاشق اینجوری من که ندیدم ♫
    راهی که میری همه خط کشی هاشو خودم کشیدم ♫
    برو قصه بساز واسه یه نفره دیگه که من پرید ♫

    ♪♪♫♫♪♪♯

    امیر علی خط و نشون

    ♪♪♫♫♪♪♯

    کد آهنگ پیشواز امیر علی خط و نشون

    ۳۸۲۷۷ / امیر علی نورایی

    منبع ( surce ) : دانلود آهنگ قدیمی امیر علی خط و نشون 1

  • ۱۳۹۷/۰۱/۳۰
  • ادامه / دانلود

    هرچند REST API موضوع بسیار پیچیده ای است ، ما در این پست به توضیح مختصر درباره ی REST API و نحوه استفاده از آن، می پردازیم.

    یک REST API، مجموعه ای از توابع را تعریف می کند که توسعه دهندگان می توانند درخواست ها (requests) را انجام دهند و پاسخ ها (response) را از طریق پروتکل های HTTP از جمله GET  و POST، دریافت کنند.


    از آنجائیکه REST API از HTTP استفاده می کند، تقریبا توسط تمامی زبان های برنامه نویسی  قابل استفاده بوده و هم چنین به آسانی قابل تست است. یکی از ملزومات REST API، مستقل بودن سرویس گیرنده (client) و سرور از یکدیگر می باشد که اجازه می دهد هر یک به هر زبانی قابل کد گذاری باشند.

    شبکه جهانی وب (www) نمونه ای از یک سیستم توزیع شده است که از معماری پروتکل REST برای ارائه یک رابط مبتنی بر ابررسانه (hypermedia) برای وب سایت ها، استفاده می کند، از ابررسانه به جای hypertext برای جلوگیری از سردرگمی استفاده می شود چرا که REST API نه تنها از HTML بلکه از فرمت های دیگری نیز پشتیبانی می کند.

    نمونه واقعی


    توئیتر REST API ای فراهم می کند که شما می توانید آخرین توئیت ها را، با استفاده از کوئری جست و جو یا برچسب هش (#) درخواست کنید و REST API نتایج درخواست را در قالب JSON برمی گرداند. در زیر نمونه ای از درخواست HTTP به API توئیتر را برای دریافت سه توئیت آخر که با عبارت ‘jQuery’ مطابقت دارند، مشاهده می کنید:

    
    http://search.twitter.com/search.json?q=jQuery&result_type=recent&rpp=3
    
    


    علاوه بر این REST API لازم است مشخص کند چه امکانات و اطلاعاتی را فراهم می کند و چگونه میتوان از آن استفاده کرد، که میتوان به جزئیاتی از جمله پارامتر های پرس و جو ، فرمت پاسخ ، محدودیت درخواست ، کلید عمومی API ، متد ها (GET/POST/PUT/DELETE)، پشتیبانی از زبان ، پشتیبانی از HTTPS و نمایندگی منابع، اشاره کرد.

    اطلاعاتی که برای جستجوی REST API توئیتر ارائه شده است در تصویر زیر مشاهده می کنید:

    مشاهده دمو


    REST چیست؟


    REST کوتاه شده ی عبارت Representational State Transfer می باشد که اساسا به یک سبک معماری وب اشاره دارد که دارای ویژگی های اساسی بسیاری است و رفتار مشتریان و سرور ها را مدیریت می کند.


    چه چیزی می تواند از REST API استفاده کند؟


    REST API این امکان را فراهم می کند که بتوانید با Parse (سرور متن بازAPI )، از طریق هرچیزی که بتواند یک درخواست HTTP ارسال کند، ارتباط برقرار کنید.

    برای مشاهده نمونه هایی میتوانید به این لینک مراجعه کنید.


    REST API در دنیای واقعی




    معنای اصطلاح “RESTful API” چیست؟


    به طور کلی اصطلاح RESTful، مطابقت و سازگاری با ویژگی ها و محدودیت های REST را شامل می شود.

    در صورتی که یک API  ویژگی های زیر را داشته باشد، می تواند RESTful در نظر گرفته شود ( لیست زیر کامل نیست اما شامل موارد اصلی می باشد):

    ۱- Client-server: کاربر (client)، فرانت-اند و سرور، بک-اند را کنترل می کنند و هر دو می توانند مستقل از یکدیگر، جایگزین شوند.

    ۲- Stateless  (بدون وضعیت): داده ها و اطلاعات کاربر، بین درخواست ها، در سرور ذخیره نمی شوند و وضعیت هر جلسه (session) در سمت کاربر ذخیره می شود.

    ۳- Cacheable: کاربر می تواند برای بهتر کردن کارائی، پاسخ را در cache ذخیره کند (مانند ذخیره کردن عناصر استاتیک یک صفحه وب توسط مرورگر)

    پیروی از این محدودیت ها و در نتیجه سازگاری با سبک معماریREST ، هر نوع سیستم ابررسانه ای توزیع شده را قادر می سازد تا ویژگی های ظاهری مطلوب مانند عملکرد، مقیاس پذیری، سادگی، تغییر پذیری، قابل مشاهده بودن ، قابل حمل بودن و قابلیت اطمینان را داشته باشد. یکی از ترند های رایج، استفاده از URL های مشخصی برای API های RESTful می باشد.

    مثال Dropbox API برای عملیات فایل


    معماری کلاینت-سرور RESTful


    برای مثال HTTP دارای واژه نامه بسیار غنی از نظر افعال (method ها)، url ها، انواع رسانه های اینترنتی، کد های درخواست و پاسخ و غیره است. REST از این ویژگی های پروتکل HTTP استفاده می کند و بنابرین اجازه می دهد لایه پروکسی و کامپوننت های دروازه (gateway) موجود، توابع اضافی از جمله ذخیره سازی HTTP و توابع امنیتی، در شبکه اجرا کنند.

    (RESTful Web Services (API


    سرویس های وب RESTful (که RESTful web API  نیز نامیده می شوند)، سرویس هایی هستند که با استفاده از HTTP و با رعایت اصول REST پیاده سازی می شوند و مجموعه ای از منابع، با چهار ویژگی تعریف شده، هستند:

    • URL پایه برای سرویس های وب، مانند http://example.com/resources
    • نوع رسانه های اینترنتی از داده های پشتیبانی شده توسط سرویس وب، که اغلب JSON، XML یا YAML است اما می تواند هر نوع رسانه معتبر اینترنتی که استاندارد hypertext است، باشد.
    • مجموعه عملیات پشتیبانی شده توسط سرویس وب با استفاده از متد های HTTP (مانند GET، POST، PUT و DELETE)
    • API باید مبتنی بر hypertext باشد.


    فرمت های محبوب درخواست request)  REST API)




    SOAP فرمت های محبوب پاسخ response) REST API)


    برای توسعه دهندگان jQuery  ، فرمت JSON محبوب ترین فرمت پاسخ می باشد.

    • REST
    • XML-RPC
    • SOAP
    • JSON
    • PHP


    آیا برای دسترسی به REST API، به یک کلید API نیاز داریم؟


    اکثر API ها دارای محدودیت در تعداد درخواست ها هستند و ممکن است از شما بخواهند که یک کلید API ارائه دهید. API  های حساس به داده ها،  نیاز به تائید هویت شما خواهند داشت و محبوب ترین متد Open Authentication است که با عنوان oAuth نیز شناخته می شود.

    برای مثال Google Translate ، در یک درخواست با متد GET به کلید API شما نیاز دارد:

    https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&q=Hello%20world

    REST API  یا API ؟


    با مطالعه و بررسی داکیومنت ها و مشخص کردن این که آیا API، معیار های لازم را برای RESTful بودن، دارا می باشد یا نه، میتوان تعیین کرد که آیا API ، RESTful می باشد یا خیر.

    یکی از مثال هایی که مطمئنا RESTful شمرده می شود Atom API می باشد:

     http://bitworking.org/projects/atom/rfc5023.html

    منبع: sitepoint

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

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

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

     




    با بخش اول ۴  کمپین خلاقانه‌‌ی ایرلاین‌ها در زمینه بازاریابی محتوایی همراه باشید:

    ۱) ایرلاین Iceland Air


    • نام کمپین: Icelandair’s Stopover
    • مجری: هواپیمایی ایسلند (Icelaand)
    • ابزارها: شبکه‌های اجتماعی، وب‌سایت، تیم قوی Video Making
    • هدف: تعهد مشتری به برند (Loyalty)پروژه‌ی Icelandair’s Stopover به مسافران این امکان را می‌دهد که به رایگان (و حتی بدون رزرو هتل)، هنگامی که از قاره‌ی اروپا به قاره‌ی آمریکا (یا برعکس) مسافرت می‌کنند، تا ۷ روز در ایسلند گردش کنند!




    برای پروموت این برنامه، هواپیمایی ایسلند یک کمپین بازاریابی محتوایی چندمنظوره را پیاده‌سازی کرد.

     


    کمپین Icelandair’s Stopover Program


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

    به گزارش ویرلن؛ افرادی که در این مسابقه برنده می‌شدند، به همراه یک راهنمای تور اختصاصی (Tour Guide) به مدت ۴۸ ساعت در ایسلند، Stopover می‌کردند (Stopover به معنی توقف بین راهی در سفری طولانی مدت است. این کمپین هم همان طور که گفتیم برای افرادی بود که از اروپا به آمریکا (یا بالعکس) مسافرت می‌کنند).

    خلاصه اینکه هر کدام از برنده‌ها را به مدت ۲۴ یا ۴۸ ساعت، به بهترین شکل در ایسلند می‌گرداندند و از این پروسه نیز یک ویدیو تهیه می‌کردند. این ویدیوها (و صورت‌های دیگری از محتوا که توسط خود ایرلاین، برندگان مسابقه و سایر مردم تولید شده بود) با هشتگ #Stopover در شبکه‌های اجتماعی منتشر و Viral شد.

     

    چرا این کمپین موفق بود؟




    کمپین Stopover، سه مورد زیر را با هم ترکیب می‌کند:

    1. یک کنجکاوی جذاب (مخاطب: «هواپیمایی ایسلند چه برنامه‌ای برای ما دارد؟»)
    2. یک انگیزه (برای شرکت کردن در مسابقه)
    3. درگیر کردن دنبال‌کنندگان کمپین (با تولید محتوای مخاطب محور و یک هشتگ مناسب)


    در ویدیو می‌بینیم که المان‌هایی برای فرد برنده‌ی مسابقه در نظرگرفته شده است که برای هر مسافری جالب به نظر می‌رسد

     



    هواپیمایی ایسلند


    • مناظر دیدنی طبیعی
    • غذاهای جالب و جذاب
    • ماجراجویی
    • آب تنی
    • جاده‌های سبز و زیبا
    • هیجان
    • آرامش و رهایی
    • و…


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

    لبخندی که مدام بر چهره‌ی برنده‌ی جایزه نمایان است، نشان از رضایت او از یک سفر بسیار مناسب می‌باشد. لبخندی که هواپیمایی ایسلند برای مسافر خود به ارمغان می‌آورد!

    از طرفی هم می‌بینیم که هشتگ مورد استفاده در این کمپین، به نوعی‌ست که مخاطبان هدفمندی را برای هواپیمایی ایسلند درگیر می‌کند: افراد علاقه‌مند به سفر که به نوعی با برند هواپیمایی ایسلند درگیر بوده‌اند (در نظر داشته باشید که هدف کمپین، «تعهد مشتریان به برند (Loyalty)» بود).




    پی‌نوشت: منظور از این که هشتگ کمپین به گونه‌ای بود که….، صرفا «نام هشتگ» نیست. نحوه تبلیغ و معرفی هشتگ، رسانه‌های مورد استفاده در Promote آن و… را نیز درنظر بگیرید.

    ۲) ایرلاین WestJet


    • نام کمپین: Christmas Miracle
    • مجری: هواپیمایی WestJet
    • ابزارها: شبکه‌های اجتماعی، تیم قوی Video Making
    • هدف: درگیری (Engagement) با برند / تعهد مشتری به برند (Loyalty)


    به گزارش  و مقاله تهیه شده در این خصوص در سایت www.safarme.com  در دسامبر ۲۰۱۳ (نزدیک کریسمس)، هواپیمایی WestJet در گیت‌‌های ورودی فرودگاه تورنتو کیوسک‌های دیجیتالی را قرار داد که در نمایشگر آن‌ها، بابانوئل ظاهر می‌شد و از مردم می‌پرسید که برای کریسمس چه چیزی دوست دارند داشته باشند.

    هر کس هم چیزی درخواست می‌کرد. یک نفر گفت «یک شال گرم!»، یک کودک هم تقاضای «یک تبلت اندروید» کرد و دیگری نیز «یک تلویزیون بزرگ!» و…

    از آن طرف هم پرسنل این ایرلاین (در شهر مقصد – شهر همیلتون کشور امریکا) سعی می‌کردند که خیلی سریع، آن هدایا را فراهم کرده و کادو کنند، تا وقتی مسافران رسیدند، بابانوئل هدیه‌ی هر کس را به او تحویل دهد!

    موفقیت این کمپین آنقدر عظیم و باورنکردنی بود که WestJet تصمیم گرفت در سال ۲۰۱۴ (کمپین Spirit of Giving) و ۲۰۱۵ (کمپین ۱۲,۰۰ Mini-Miracles) نیز، کمپین‌هایی را همانند این کمپین اجرا کرده و مشتریانش (و دنیای مارکتینگ!) را سورپرایز کند!

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

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

    چرا این کمپین موفق بود؟


    این کمپین از دو جهت برای WestJet موفقیت‌آمیز بود:


     


    • تعهد به برند (Loyalty): مشتریان این برند به آرزوهای خود رسیدند! چه این آرزو یک تلویزیون بزرگ باشد و چه یک شال‌گردن گرم ساده! به هر حال برای هر کدام از آن‌ها یک خاطره‌ی فوق‌العاده رقم خورده که به هیچ وجه فراموش نخواهند کرد. از طرفی هم بدون شک افراد بسیاری از مشتریان WestJet (که آن روز در فرودگاه نبودند) از این اتفاق مطلع شده و به وجد آمده‌اند! این مورد در راستای افزایش تعهد مشتری به برند، برای WestJet موفقیت‌آمیز بود.
    • افزایش درگیری با برند: اشتراک این ویدیو در رسانه‌های اجتماعی (به خصوص یوتیوب، توییتر و فیس‌بوک) باعث شد که افراد بسیار زیادی با این برند درگیر شوند. لبخندها، اشک‌های شوق، هیجان آن نوجوانی که تبلت برنده شد، بغل کردن‌ها و… در این ویدیو، تداعی‌گر یک حس خوب از برند WestJet در ذهن مخاطب گردید.




    ادامه دارد…

    منبع: http://www.modir.tv

     

     

    مجله «آنگاه» با نگاهی به «کتاب هفته» امروز رونمایی می‌شود.

    شراگیم یعنی مثل شیر، حدودا از سال ۹۰ در زمینه دیجیتال مارکتینگ و شبکه‌های اجتماعی مشغولم و سعی میکنم هرروز مثل شیر با چالش‌های جدید روبرو بشم.

    همانطور که در قسمت اول استفاده از شبکه‌های اجتماعی برای معرفی و بازاریابی استارت‌آپ‌ها صحبت شد، سوشال مدیا مارکتینگ مبحثی گسترده با جزییات فراوان است که طیف وسیعی از جامعه را دربر می‌گیرد. خلاقیت و تنوع در ارائه پیام، نقش هک رشد را در کمپین‌های شبکه‌های اجتماعی ایفا می‌کند.
    نمونه‌ها و Case Studyهای موفق متعددی در ایران و جهان برای این موضوع می‌توان نام برد اما در این فرصت به بررسی کلی این ایده‌ها می‌پردازیم.

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

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

    فراخوان کارگاه کشوری طراحی گرافیک و کارتون با موضوع «حمایت از کالای ایرانی» منتشر شد.

    از طراحان گرافیک و کارتونیست های حرفه ای سراسر کشور دعوت می شود جهت شرکت در کارگاه طراحی گرافیک و کارتون با موضوع “حمایت از کالای ایرانی”، نمونه کار،‌ سوابق تحصیلی، شغلی و هنری و شماره تماس خود را در قالب یک فایل pdf ( نام فایل pdf ، ‌نام و نام خانوادگی متقاضی و شماره تماس باشد) با حجم زیر۱۰ مگابایت، حداکثر تا تاریخ شنبه ۱ اردیبهشت ماه ۱۳۹۷ ساعت ۹ صبح، به آدرس standardworkshops@yahoo.com ارسال کنند. آثار ارسالی بررسی و در صورت تایید صلاحیت جهت حضور در کارگاه با متقاضی شرکت تماس گرفته خواهد شد.

    اساتید :
    مصطفی اسداللهی، مسعود شجاعی طباطبایی، حسن موسی زاده و محمدرضا دوست محمدی

    شرایط:
    کمک هزینه پرداختی به هر شرکت کننده به ازای هر روز حضور و ارائه کار مورد قبول برای اساتید: ۱۰۰٫۰۰۰ تومان
    آثار تولیدی در سه رده قیمتA 1.000.000 تومان ، B750.000 تومان و C500.000 تومان پس از داوری و تایید اساتید، توسط سازمان ملی استاندارد ایران خریداری خواهند شد.
    شایان ذکر است حق هرگونه بهره برداری و اکران (آثار خریداری شده ) متعلق به سازمان ملی استاندارد ایران می باشد.
    به همراه داشتن لپ تاپ برای شرکت کنندگان الزامی می باشد.
    برای شرکت در کارگاه ارائه حساب بانکی و کپی کارت ملی الزامی است.
    از آثار منتخب کارگاه فوق الذکر جهت اکران در سازه های تبلیغاتی سطح کشور بهره برداری خواهد شد.
    شرایط اقامت و پذیرایی برای هنرمندانی که ساکن تهران و یا کرج نیستند فراهم میباشد.

    اطلاعات تکمیلی:
    مکان: کرج، سازمان ملی استاندارد ایران
    زمان: ‌چهارشنبه و پنجشنبه و جمعه، ۵ ،‌۶ و ۷ اردیبهشت ماه ۱۳۹۷ ؛ ساعت ۹ صبح الی ۱۸
    جهت اطلاعات بیشتر با شماره های
    ۰۹۱۲۲۲۰۴۶۷۰
    ۰۲۶۳۲۸۰۷۰۴۵
    دبیرخانه کارگاه تماس حاصل فرمایید

     

    نوشته فراخوان کارگاه طراحی گرافیک و کارتون با موضوع «حمایت از کالای ایرانی» اولین بار در فایر دیزاین پدیدار شد.

    هدف از این مقاله، مشخص کردن مهم‌ترین تفاوت‌های مفهومی بین React Native (یا به اختصار RN) و Ionic است، امیدواریم این مقاله اطلاعاتی که برای انتخاب درست فریم‌ورک، لازم دارید در اختیار شما قرار دهد، تا بتوانید فریم‌ورک کارآمدی برای پروژه خود انتخاب کنید.

    فروشگاه ساز

    فروشگاه اینترنتی و وب سایت خود را به سرعت با سایت ساز سی می پلاس بسازید

    خودتان را اینجا معرفی کنید

    برنامه های Hybrid  و Native


    قبل از پرداختن به تفاوت های Ionic و RN، به‌طور خلاصه به مرور برنامه‌های hybrid و برنامه‌های native می‌پردازیم. برنامه‌های hybrid (ترکیبی) اساسا وب‌سایت‌ های تعبیه شده (embedded) در یک برنامه‌ی موبایل با استفاده از webview می باشد. Webview یک مرورگر در داخل برنامه موبایل است. این برنامه‌ها با استفاده از HTML5, CSS و JavaScript توسعه داده شده و همان کدها را بدون در نظر گرفتن پلت‌فرم اجرا می کنند. همچنین با ابزار هایی مانند PhoneGap  و Cordova می‌توانند از ویژگی‌های native یک دستگاه، مانند GPS یا camera استفاده کنند.

    برنامه‌های Native با زبان موردنیاز توسط پلت‌فرمی که قرار است در آن اجرا شوند، توسعه یافته اند، مانند Objective-C یا Swift برای IOS و Java برای Android. کد نوشته شده در این برنامه ها، در بقیه پلت‌فرم ها قابل استفاده نیست و رفتار متفاوتی دارد. این کد‌ها بدون هیچ محدودیتی به تمامی ویژگی‌های ارائه‌شده توسط این پلت‌فرم، دسترسی مستقیم دارند.


     

    Native  یا Hybrid ؟


    Ionic

    Ionic یک فریم‌ورک توسعه‌ی ترکیبی (hybrid) است که از تکنولوژی‌های وب برای نوشتن و رندر‌کردن برنامه‌های کاربردی استفاده می‌کند و نیازمند پل‌های ارتباطی PhoneGap/Cordova برای دسترسی به امکانات native می باشد. سپس سعی می‌کند رفتار های native را برای ارائه بهترین تجربه کاربری، تکرار کند.

    شاید بپرسید Ionic Native چیست، Ionic Native نام جدیدی برای ngCordova می باشد و روش جدید Ionic، برای استفاده از پلاگین‌های موجود Cordova و PhoneGap است.

    + ngCordova: مجموعه‌ای از ۷۰+ افزونه‌ی AngularJS، در Cordova API است که ساخت، آزمایش و راه‌اندازی برنامه‌های موبایل با AngularJS را آسان‌تر می‌کند. 

    برای بررسی دقیقتر و مطالعه بیشتر در این خصوص پیشنهاد می‌کنیم «مطلب اپلیکیشن Native یا Hybrid : مسئله این است !» را مطالعه کنید.

    React Native

    توسعه در React Native عمدتا با جاوا‌اسکریپت انجام می‌شود، بنابراین بیشتر کد های اولیه‌ای که برای شروع کار نیاز خواهید‌داشت در تمام پلت‌فرم ها قابل اجرا است. با این‌حال، قسمت‌هایی که در برنامه‌های hybrid با استفاده از HTML و CSS رندر می‌شوند، در RN با استفاده از کامپوننت‌های native رندر خواهند‌شد. این به این معنی است که تجربه کاربر به‌طور‌کلی بیشتر شبیه سایر برنامه‌های native می‌شود و الگو‌های مورداستفاده در سیستم‌عامل ها را دنبال می‌کند. در اغلب موارد، این شیوه با عملکرد بهتر و انیمیشن‌های روان‌تری همراه است.

    تنها مشکلی که وجود دارد این است که، این شیوه تنها زمانی کار می‌کند که کامپوننت های اتصالی(پل)، برای React Native نوشته شده‌باشند. یک مجموعه‌ی دلخواه از کامپوننت های native  به طور پیش‌فرض ارائه شده‌است، اما اگر شما یک توسعه‌دهنده‌ی برنامه native هستید، انتظار نداشته‌باشید که تمام کامپوننت‌ها را پیدا کنید.

    نتیجه:

    در‌حالی که نتیجه‌ی Native، RN می‌باشد، به منظور استفاده از آن‌ها، برای هر پلت‌فرمی باید کامپوننت‌های پل (اتصالی) نوشته شود، که باعث می‌شود به فریم‌ورک Hybrid بیشتر شبیه شوند.


    یک بار بنویسید، همه جا اجرا کنید


    Ionic

    یک برنامه hybrid معمولی، بدون در نظر گرفتن پلت‌فرم، کد یکسانی را اجرا می‌کند و این چیزی است که Ionic قادر به انجام آن می‌باشد. با این حال، برای اینکه بیشتر شبیه native عمل کند، ionic تعدادی از رفتار‌های خود را با توجه به پلت‌فرم، با آن سازگار می‌کند. اگر از برگه‌ها (tabs) استفاده کنید، به همان شکل که توسط پلت‌فرم توصیه می‌شود، در پایین صفحه در سیستم‌های IOS و در بالای سیستم‌های Android، نمایش داده خواهند‌ شد.

    React Native

    هدف RN این نیست که راهی برای یک بار نوشتن کد فراهم کند به طوری‌که همه‌جا اجرا شود. بلکه می‌خواهند که توسعه‌دهندگان از کامپوننت‌هایی استفاده کنند که به بهترین شکل، رفتار native پلت‌فرم را دنبال می‌کنند. برای مثال، Android دارای یک نوار‌ابزار با قابلیت تنظیم است، اما در IOS این‌چنین نمی‌باشد. شما می‌توانید نوار‌ابزار را برای اندروید استفاده کنید ولی برای IOS باید از چیز متفاوتی استفاده نمائید. برای بسیاری از کامپوننت‌ها، معمولا کامپوننت‌های مشابه و جایگزین وجود دارد ولی نه همیشه.

    نتیجه:

    با Ionic، شما قطعا نباید نگران رفتار‌های خاص پلت‌فرم ها باشید، اما با React Native ممکن است مجبور شوید برای ارائه‌ی یک تجربه بی‌نظیر برای کاربران خود، به رفتارهایی که پلت‌فرم ‌های مختلف دارند، توجه کنید.

    پشته زبان


    Ionic

    Ionic یک فریم‌ورک مبتنی بر Angular و چهارچوبی برای جاوااسکریپت می‌باشد، و از قالب‌های HTML برای view استفاده می‌کند. Ionic را در راستای الگوی MVC قرار می‌دهند چراکه view و منطق(logic)، به وضوح از هم جدا هستند.


    React Native

    React Native بر‌اساس چارچوب جاوا‌اسکریپت React می‌باشد، بنابراین از کد جاوا‌اسکریپت استفاده می‌کند که شبیه HTML است و آن را JSX می‌نامند، که در آن هرچند نمایش مانند HTML می‌باشد اما با جاوا‌اسکریپت ترکیب شده‌است. در نهایت استفاده از JSX مشکلی ایجاد نمی‌کند چراکه اکثر توسعه‌دهندگان با JSX احساس راحتی می‌کنند. اما درصورتی‌که شما در یک تیم، با طراحان کار می‌کنید، همکاری با آن‌ها به آسانیِ ویرایش قالب و نوشتن CSS نخواهد‌بود. این به این معنی نیست که هفته‌ها طول می‌کشد تا آن‌ها بتوانند با JSX آشنا شوند، اما ممکن است لازم باشد عملکرد JSX آموزش داده شود. JSX ، HTML نیست و روش استایل‌دهی نسبتا متفاوتی دارد و تمام تنظیمات CSS را که مرورگر‌های معمولی پشتیبانی می‌کنند، ارائه نمی دهد.

    نتیجه:

    با Ionic شما با ابزار‌های مورد استفاده آشنایی بیشتری خواهید‌داشت: HTML و CSS. با React Native، شما باید یاد بگیرید که چگونه رابط های کاربری خود را با استفاده از کامپوننت‌هایی که مشابه HTML اند، ایجاد کنید، که هرچند دشوار نیست اما جدید است.

     


    تست در حین توسعه


    Ionic

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

    React Native

    در صورتی‌که تست کردن در مرورگر خود را فراموش کنید، RN، رندر کردن native را تولید می‌کند و با RN شما نتیجه‌ی تغییرات را به محض ایجاد آن، مشاهده می‌کنید، بدون این‌که به کامپایل مجدد، بازسازی و .. .نیاز داشته‌باشید و نتیجه فورا در یک شبیه‌ساز یا یک دستگاه واقعی نمایش داده می‌شود.


    نتیجه:

    هر دو در حیطه‌ی تست کردن و مشاهده نتیجه، به خوبی عمل می‌کنند و در صورتی‌که نیاز به دریافت بازخورد فوری داشته باشید، بازخورد فوری را دریافت خواهید کرد!

    ویژگی های دیگر Ionic و React Native


    Ionic

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


    React Native

    هرچند که RN سعی می‌کند روی رفتار‌های native تکیه کند، اما معمولا سعی نمی‌کند آن‌ها را تکرار کند. طراحی ظاهر برعهده‌ی شماست. در اغلب موارد، تنها کامپوننت‌هایی که native هستند، در دسترس اند. با این‌حال اگر بخواهید یک کامپوننت native واقعی بنویسید و از آن در view خود استفاده کنید، میتوانید با React Native به هدف خود برسید.

    نتیجه:

    با استفاده ازIonic  به وضوح سریع‌تر از RN پیش خواهید رفت چرا‌که نیازی نیست بیش از حد در مورد ظاهر و استایل نگران باشید و با اعمال چند کلاس می توانید کار را به آسانی پیش ببرید.

    پلاگین‌ها و انجمن‌ها


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

    Ionic

    PhoneGap و Cordova از مدت ها قبل در دسترس بوده‌اند، بنابراین به احتمال زیاد پلاگینی وجود دارد که بتوانید ویژگی‌های native ای را که در webview خود نیاز دارید، به کار ببرید. آن‌ها همچنین دارای بازاری هستند که توسعه دهندگان می‌توانند در آن به فروش و ارائه‌ی پلاگین‌های Ionic بپردازند.

    React Native

    در حال حاضر تعداد زیادی پلاگین برای React Native در NPM موجود و در دسترس می‌باشد. حتی پلاگینی برای استفاده از پلاگین های PhoneGap/Cordova وجود دارد که در نتیجه موجب می‌شود شما در آن واحد، به صدها پلاگین دیگر دسترسی داشته باشید.

    نتیجه:

    هم اکنون، React Native نسبت به Ionic محبوبیت بیشتری در Github دارد به طوری‌که RN، ۳۶۰۰۰ ستاره و Ionic 25000 ستاره دارند، با این‌حال در Stackoverflow، سوالات بیشتری درمورد Ionic نسبت به RN وجود دارد. همچنین برای Ionic و RN  انجمن‌هایی که برپایه‌ی آن‌ها شکل گرفته اند را نیز میتوان به کار برد، که به ترتیب Angular و React هستند، در نتیجه با اطمینان می‌توان گفت هر دو اکوسیستم بسیار سالمی دارند.

    پلت‌فرم های پشتیبانی شده


    Ionic و RN، هر‌دو Android و IOS را پشتیبانی می‌کنند. علاوه بر‌این Ionic 2 ، از پلت‌فرم جهانیِ ویندوز نیز به طور رسمی پشتیبانی می‌کند، که در حال حاضر به عنوان یک پلاگین جداگانه برای RN در دسترس می‌باشد.

    React Native یا Ionic: کدام یک بهتر است؟


    نمی‌توان گفت دقیقا کدام بهتر است، چرا‌که این انتخاب به عوامل بسیاری بستگی دارد: توسعه دهنده، پروژه، نیازهای کاربر، مهارت‌های اعضای تیم و …

    Ionic و RN کار‌های مختلفی انجام می‌دهند و هر دو عملکرد خوبی دارند.

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

    منبع: codementor

     

© تمامی حقوق مطالب برای وبسایت فایر دیزاین محفوظ است و هرگونه کپی برداری بدون ذکر منبع ممنوع و شرعا حرام می باشد.
قدرت گرفته از : بک لینکس