PDA

View Full Version : استفاده از node.js برای ساخت اپلیکشنهای مستقل از browserبروی موبایل



khadem1386
سه شنبه 08 اردیبهشت 1394, 01:47 صبح
سلام
من یک جایی خوانم که با استفاده از node می توانیم برای موبایل اپلیکشن بسازیم که لازم نیز در brosew اجرا شه

اما زبان اصلی همچنان html - css- , javascript هست.
و ند این ها را برای ما کامپایل می کنه و تبدیل می کنه به یک app متسقل

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

مرسی

arenaw
سه شنبه 08 اردیبهشت 1394, 08:28 صبح
سلام. پلتفرم‌های ‌Phonegap و Cordova برای همین کار ساخته شدن. یعنی شما با استفاده از ‌‌HTML, CSS, Javascript یک صفحه طراحی میکنید، بعد اونها میتونن این صفحه شما رو به اپلیکیشن مستقل موبایل تبدیل کنن.
اما نقطه قوتشون اینجاست که شما میتونید با استفاده از ‌APIهایی که در اختیارتون قرار میدن، به طور مثال دوربین دستگاه رو کنترل کنید.
مزایای این پلتفرم‌ها اینه که شما یک صفحه درست میکنید، بعد میتونید از همون صفحه برای ios و android و windows mobile خروجی بگیرید!
ولی یه عیب بزرگ دارن. اینکه سرعتشون واقعا افتضاحه!

راجع به nodejs هم اینکه نیاز به سرور هست. یعنی اپلیکیشن موبایل مستقل نمیتونه درون خودش nodejs داشته باشه. ولی اگه شما یه سرور داشته باشید و کدهای nodejs رو روی اون اجرا کنید، میتونید از طریق سوکت از درون اپلیکیشن موبایل باهاش ارتباط برقرار کنید.

khadem1386
سه شنبه 08 اردیبهشت 1394, 12:59 عصر
1-آیا این برنامه ها بعد از ساخت هم باز احتیاج به node دارند؟

من فکر می کردم که node برای کامپایل کردن به کار می رود .
و بعد از آن دیگر یک app مستقل و stanalon خواهم داشت.
می شه بیشتر توضیح بدهید.
1.5- اصولا بنده فکر می کردم یک app مستقل صرفا برای دسترسی به دیتابیس به احتیاج دارد به اینترنت وصل شود

2- در مورد سرعت مثلا در چه مواقعی سرعت آنها کم است.
آیا باعث هنگ موبایل می شوند.
آیا مثلا اگر بوسیله ی این نرم افزار دارم دوربین گوشی را کنترل می کنم مثلا ممکن است تصویر را دوربین را با پرش و یا فرم فرم و با کیفیت کم نشان دهد؟
می شه بیشتر توضیح بدید؟

3- آیا همه سخت افزار موبایل در اختیار بنده هست . مثلا گوشی، یا دهنی (میکروفن) یا امکان شماره گرفتن - یا مثلا GPS

4- برای دسترسی به سخت افزار از مهارتهایی بغیر از زبانهای html css , javascript باید بلد باشم؟
آیا javascript هم فانکشنهای مربوط به کنترل سخت افزار را دارد؟



5- برای ‌Phonegap و Cordova آیا انجمن یا سایت ایرانی چیزی شما دیده اید. می شه معرفی کنید



مرسی

beyond
سه شنبه 08 اردیبهشت 1394, 15:29 عصر
عزیز node یعنی جاوا اسکریپت سمت سرور ، شما برای برنامه نویسی اندروید نیازی به node نداری.
همونطور که بالاتر گفتن میتونید از cordova استفاده کنید. یه سری آموزش فارسی هست که سایت ehsanavr گذاشته برای شروع خوبه :
http://ehsanavr.com/12515/web-development/javascript-web-development/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%DA%86%D9%86%D8%AF-%D8%B3%DA%A9%D9%88%DB%8C%DB%8C-%D9%85%D9%88%D8%A8%D8%A7%DB%8C%D9%84-%D8%A8%D8%A7-visual-studio-%D8%AC%D9%84/

برای اپلیکیشن اندروید هم میشه از node استفاده کرد ولی برنامه نیاز به سرور داره. بهترین فریمورک برای این کار meteor (https://www.meteor.com/) هست.

khadem1386
سه شنبه 08 اردیبهشت 1394, 21:06 عصر
وقتی پکیجی که باید روی سیستموم نصب کنیم 13 گیگ حجم داره و بعد از باز شدن 30 گیگ فضا لازم داره
بعد بنده می خواهم یک اپلیکیشنی برای موبایل بسازم که در آخر حدود 120 کیلو کمتر حجم داره.:عصبانی++:

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

cups_of_java
چهارشنبه 09 اردیبهشت 1394, 10:16 صبح
1-آیا این برنامه ها بعد از ساخت هم باز احتیاج به node دارند؟

من فکر می کردم که node برای کامپایل کردن به کار می رود .
و بعد از آن دیگر یک app مستقل و stanalon خواهم داشت.
می شه بیشتر توضیح بدهید.


نه خیر. این کدها روی محیط مرورگر گوشی اجرا میشن که یا همون مرورگر نیتیو گوشیتون هست یا مثلن مرورگر جدید crosswalk که امکانات به روز تری داره و خود Cordova اخیرن باندلش کرده تو خودش. البته شما یه برنامه نیتیو دارید و مستقل می بینه اونو کاربر اما تو دلش همونطور که گفتم یه مرورگر باندل شده داره. برای همین اصولن ۲۰ مگ حدودن به اندازه فایل برنامه شما هم اضافه میشه.



2- در مورد سرعت مثلا در چه مواقعی سرعت آنها کم است.
آیا باعث هنگ موبایل می شوند.

تا اون کم نیست نه خیر... راهکار هایی هست که شما طوری بنویسید که سرعت مناسبی داشته باشه. به نظر من سرعت خیلی موضوع حساسی نیست دیگه مگر اینکه کار خیلی خاصی بخواید انجام بدید.



آیا مثلا اگر بوسیله ی این نرم افزار دارم دوربین گوشی را کنترل می کنم مثلا ممکن است تصویر را دوربین را با پرش و یا فرم فرم و با کیفیت کم نشان دهد؟
می شه بیشتر توضیح بدید؟
3- آیا همه سخت افزار موبایل در اختیار بنده هست . مثلا گوشی، یا دهنی (میکروفن) یا امکان شماره گرفتن - یا مثلا GPS


اگه از همین راه هیبرید برید (مثل Cordova و Ionic) خوب بستگی به پشتیبانی مرورگر از این امکانات داره... که البته HTML5 خیلی خوب پشتیبانی داره میکنه اما کمی توی مرورگر های گوشی ها مشکلات داره... مثل میکروفون و دوربین به راحتی توی مرورگر در دست شما می تونه قرار بگیره... باید پروتوتایپ بزنید و امتحان کنید اون نتیجه ای که میخواید رو میگیرید یا نه... اگر نگرفتید دو تا گزینه دارید:

۱) نوشتن یک برنامه وب Responsive که توی دسکتاپ و گوشی باز شه و کار کنه... کار سختیه اما همه نوع کاربر رو پشتیبانی میکنید.
۲)‌نوشتن برنامه نیتیو برای هر گوشی به طور جداگانه... کار راحت تریه و حجم برنامه شما خیلی پایین خواهد بود. اما نیاز به برنامه نویس های گوشی های مختلف دارید و کاربران دسکتاپ رو هم پشتیبانی نمیکنید.



4- برای دسترسی به سخت افزار از مهارتهایی بغیر از زبانهای html css , javascript باید بلد باشم؟
آیا javascript هم فانکشنهای مربوط به کنترل سخت افزار را دارد؟

Corvoda کارش همینه که همین امکانات رو برای شما توی جاوا اسکریپت فراهم کنه... البته هستن خیلی فریم ورک های دیگه که با زبان های دیگه همین کار ها رو انجام میدن.. بگردید لیست طولانی پیدا میکنید.