এইচটিএমএল 5 এবং জেএস অ্যাপ্লিকেশনগুলিকে দেশীয় অ্যাপ্লিকেশনগুলির মতো ভাল সম্পাদন করতে কী থামায়?


9

আমি যা বুঝতে পারি তা থেকে,

  • এইচটিএমএল একটি মার্ক-আপ ভাষা, তাই এক্সএএমএল, এক্সআইবি এবং অ্যান্ড্রয়েড যা কিছু ব্যবহার করে এবং অন্যান্য নেটিভ ইউআই বিকাশ ফ্রেমওয়ার্কগুলি অন্তর্ভুক্ত করে।
  • জাভাস্ক্রিপ্ট ক্লায়েন্ট সাইড স্ক্রিপ্টিং পরিচালনা করতে এর সাথে সাথে ব্যবহৃত একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ যা ইভেন্ট হ্যান্ডলিং, ক্লায়েন্টের পক্ষের বৈধতা এবং এই জাতীয় ফ্রেমওয়ার্কগুলিতে সি #, জাভা, অবজেক্টিভ সি বা সি ++ এর মতো কিছু অন্তর্ভুক্ত করে।
  • স্যাঞ্চা, কৌনিক ইত্যাদি ফর্ম ফ্রেমওয়ার্কগুলিতে এমভিসি / এমভিভিএম নিদর্শনগুলি পাওয়া যায়
  • অন্যান্য ফ্রেমওয়ার্ক যেমন রয়েছে এবং আমাদের কাছে এপিআই স্পেসিফিকেশন রয়েছে এটি যে অনুপস্থিত তা প্রায় সমস্ত কিছুর জন্য স্ক্লাইট এবং কী-মান স্টোর উভয়ের আকারে লোকালস্টোরেশন রয়েছে।
  • যখনই কোনও নেটিভ ইউআই ফ্রেমওয়ার্কগুলিকে ইউআই রেন্ডার করতে হয়, তখন এটির অনুরূপ চিহ্নআপটিকে বিশ্লেষণ করতে হবে এবং ইউআই রেন্ডার করতে হবে।

প্রশ্ন বিরতি

  • এইচটিএমএল এবং জেএসে নিজেই কী করা বন্ধ করে দেয়?
  • এইচটিএমএল (সিএসএস সহ) এবং জেএসকে কেন একইভাবে সঞ্চালন করা যায় না তার মধ্যে একটি স্তর হিসাবে একটি ওয়েব-নিয়ন্ত্রণ বা ব্রাউজার থাকার পরিবর্তে?
  • এমনকি যদি স্তর থাকে তবে। নেট রানটাইম এবং জেভিএম অন্যান্য ক্ষেত্রে যেখানে সি ++, সি ব্যবহৃত হচ্ছে না।
  • সুতরাং ডালভিকের মতো অ্যান্ড্রয়েডের ক্ষেত্রে নেওয়া যাক, ক্রোমিয়াম কেন অন্য বিকল্প হতে পারে না (ডালভিক এবং এনডিকে সহ) যেখানে এইচটিএমএল কী করে যা অ্যান্ড্রয়েড মার্কআপ করে এবং জাভা স্ক্রিপ্ট জাভা যা করে তা করতে ব্যবহৃত হয়?

সুতরাং প্রশ্নটি হ'ল

এমনকি যদি বর্তমান বাস্তবায়নগুলি তত ভাল না হয় তবে তাত্ত্বিকভাবে কি এইচটিএমএল 5 ভিত্তিক অ্যাপ্লিকেশনগুলি বিশেষত মোবাইলে অন্যান্য নেটিভ অ্যাপ্লিকেশন হিসাবে কাজ করা সম্ভব?


1
আপনি যে বক্তব্যগুলি শুরু করছেন সেগুলি এবং আসল প্রশ্নটি কী তা বোঝাতে দয়া করে রিফ্যাক্টর
ফানকিব্রো

"আপনি এইচটিএমএল এবং জেএসে একই কাজ করা থেকে কী থামবে?" বলতে আপনি কী বোঝাতে চেয়েছেন তা কি আপনি পরিষ্কার করতে পারেন? আপনি "একই" বলতে কী বোঝায় তা আমি বুঝতে পারি না - আপনি এর আগে চারটি বক্তব্য রেখেছিলেন এবং আমি নিশ্চিত নই যে আপনি এই প্রশ্নটিতে কী উল্লেখ করছেন।
অ্যাপসিলার্স

যদি আমার একটি নেটিভ ডেভলপমেন্ট প্ল্যাটফর্ম থাকে যা HTML এর পরিবর্তে নতুন কোনও পরিবর্তে মার্কআপ হিসাবে ব্যবহার করে। এবং জেএসকে ভাষা হিসাবে ব্যবহার করে, পারফর্মেন্স কি আরও ভাল হবে? এই আই / ও-তে গুগল বলেছিল, তারা ব্যবহারিক এবং ফোনে অ্যান্ড্রয়েড ব্যবহার করছিল ক্রোম ওএস নয়। তাহলে এর অর্থ কি, এফএফ ওএস ব্যবহারিক ধারণা নয়? সমস্ত সেরা অনুশীলন অনুসরণ করা গেলে কি এফএফওএস অ্যাপ্লিকেশনগুলির পক্ষে সংশ্লিষ্ট প্ল্যাটফর্মগুলিতে অ্যান্ড্রয়েড অ্যাপগুলির মতো ভাল পারফর্ম করা সম্ভব?
আমোগ তালপলিকর

উইন্ডোজ মেট্রো অ্যাপ্লিকেশন একবার দেখুন। এগুলি নেটিভ অ্যাপ্লিকেশন যা জিওআই ডিজাইনের জন্য এইচটিএমএল এবং এর পিছনে যুক্তির জন্য জাভাস্ক্রিপ্ট ব্যবহার করে।
ফিলিপ

এইচটিএমএল / জেএস কর্মক্ষমতা সাধারণত কোনও ইউজার ইন্টারফেসের জন্য যথেষ্ট ভাল যা তথ্য প্রদর্শন করে এবং ব্যবহারকারীর ক্রিয়াগুলির উপর ভিত্তি করে বাইরের সার্ভারে অনুরোধ করে। এটি মূলত এর চেয়ে বেশিটির জন্য নির্মিত হয়নি, তবে এতক্ষণে এটি চিত্তাকর্ষকভাবে আরও সক্ষম। তবুও, আরও সরাসরি ডিভাইস অ্যাক্সেস জড়িত পরিস্থিতিতে, নেটিভ কোডের সাথে ইন্টারফেস করা বা অপারেটিং সিস্টেমের সাথে ইন্টারফেস করা (যেমন, বিজ্ঞপ্তিগুলি), এর জন্য এখনও সাধারণ-উদ্দেশ্যে ওয়েব প্রযুক্তি ব্যবহারের কোনও ভাল উপায় নেই।
কাতানা 314

উত্তর:


11

এইচটিএমএল 5 অ্যাপ্লিকেশনগুলির পোস্টার বয়, লিঙ্কডইন 2013 সালের প্রথম দিকে চলে গিয়েছিল V ভেনচারবেট- এ দেওয়া সাক্ষাত্কারে তারা কেন তা ব্যাখ্যা করেছেন।

আমি মনে করি এটি আপনার প্রশ্নের সর্বাধিক প্রাসঙ্গিক:

প্রসাদ বলেছিলেন যে পারফরম্যান্সের সমস্যাগুলি ক্র্যাশ ঘটায় না বা ধীরে ধীরে অ্যাপ্লিকেশনটি চালিত করে না। তিনি যা বলেছিলেন তা দেখায় যে মোবাইল ওয়েবের জন্য এইচটিএমএল 5 এর এখনও একটি উজ্জ্বল ভবিষ্যৎ রয়েছে - তবে কেবলমাত্র যদি বিকাশকারীরা এটি সমর্থন করার জন্য সরঞ্জামগুলি তৈরি করতে ইচ্ছুক থাকে।

...

কিছু জিনিস আছে যা সমালোচনামূলকভাবে অনুপস্থিত। একটি হ'ল সাপোর্টিং সাপোর্ট - একটি ডিবাগার থাকা যা আসলে কাজ করে, পারফরম্যান্স সরঞ্জাম যা আপনাকে জানায় মেমরিটি কোথায় ফুরিয়েছে। যদি আপনি অ্যান্ড্রয়েড এবং আইওএসের দিকে তাকান, দুটি খুব বড় কর্পোরেশন রয়েছে যা বিল্ডিং সরঞ্জামগুলিতে ফোকাস করে যখন জিনিসগুলি উত্পাদনের ক্ষেত্রে ভুল হয় তখন প্রচুর বিস্তারিত তথ্য দেয়। মোবাইল ওয়েব সাইডে, মোবাইল ডিভাইসের জন্য ডেস্কটপ সরঞ্জামগুলি কাজ করা সত্যিই কঠিন। আমরা যে দ্বিতীয় বড় অংশটির সাথে লড়াই করছি তারা হ'ল অপারেবিলিটি, রানটাইম ডায়াগোনস্টিক্সের তথ্য। এখনও, আমরা যখন এইচটিএমএল 5 তৈরি করি তখন আমরা এটি ক্লায়েন্ট-সাইড অ্যাপ হিসাবে তৈরি করি। এটি ক্লায়েন্ট-সার্ভার আর্কিটেকচারের আরও বেশি। … এর অপারেবিলিটি, যখন আমাদের ব্যবহারকারীর একটি বিশাল পরিমাণে বিতরণ করা হয় তখন আমাদের তথ্য দেয়, সেই সাথে সমর্থন করার মতো অনেক দুর্দান্ত সরঞ্জাম নেই।

[প্রসাদ আরও উল্লেখ করেছেন যে সমস্যাগুলি দ্রুত সমাধানের জন্য ডিভেল এবং অপসেসগুলি "উপস্থিত নেই"]]

কারণ এই দুটি জিনিসই নেই, লোকেরা আবার নেটিভ হয়ে পড়ছে। এটি এইচটিএমএল 5 প্রস্তুত নয়; ইকোসিস্টেম এটি সমর্থন করে না। … সরঞ্জাম আছে, তবে সেগুলি শুরুতে। মানুষ কেবলমাত্র বেসিকগুলি বের করে নিচ্ছে।


আমি পাই না। আমাদের খুব বড় কর্পোরেশন রয়েছে: গুগল, মাইক্রোসফ্ট, অ্যাপল ক্রোম, সাফারি এবং আইইকে সমর্থন করার জন্য ফোকাস করেছে। আমরা মজিলা ফায়ারফক্সে প্রতিশ্রুতিবদ্ধ। আমাদের কাছে ক্রোম দেব সরঞ্জাম, ওয়েব পরিদর্শক, ফায়ারব্যাগ রয়েছে। এবং প্রসাদ বলে যে কোনও সরঞ্জাম নেই?
নিউতেচ

@niutech: আপনাকে এইচটিএমএল 5 অ্যাপের জন্য ভালগ্রাইন্ডের মতো একটি সরঞ্জাম চাই বলে দেয় say অনেক কিছুই নেই।
ভের্টেক

5

জাভাস্ক্রিপ্ট স্ট্যান্ডার্ড লাইব্রেরির অভাব একটি ভয়াবহ বাধা। কয়েকটি নাম দেওয়ার জন্য jQuery, Dojo, YUI এর মতো দুর্দান্ত ফ্রেমওয়ার্ক রয়েছে তবে এগুলির সবকটিই কেবল উপস্থাপনা স্তর এবং এক্সএইচআর উপর দৃষ্টি নিবদ্ধ করে।

আপনি কি কনফিগারযোগ্য লগিং, ক্রিপ্টোগ্রাফিক সরঞ্জাম, গ্রাফ অ্যালগরিদম, ইউইউডি জেনারেটর, মানচিত্র, সেটস, গাছ, টেম্পলেট, নির্ভরতা পরিচালনা, তারিখের হেরফের, স্থানীয়করণ / আন্তর্জাতিকীকরণ, ম্যাট্রিক্স অপারেশন, নির্ভরতা ইনজেকশন, ইউনিট পরীক্ষা, মানচিত্র-হ্রাস, এক্সএমএল প্রসেসিং চান? জেভিএম বা। নেট ভাষার জন্য তুচ্ছ - জাভাস্ক্রিপ্টে আপনাকে প্রায়শই নিজের প্রয়োগ প্রয়োগ করতে হয়।


এতে প্রতিবেদন যুক্ত করুন।
অ্যালান বি

ECMAScript 6 এই বৈশিষ্ট্যগুলির সিংহভাগ যুক্ত করে। গুগল ক্লোজার লাইব্রেরি আরেকটি সমাধান।
নিউতেচ

কৌণিক এখন দুর্দান্ত ঘোষণামূলক উপায় সরবরাহ করে।
আমোগ তালপল্লিকার

2

জাভাস্ক্রিপ্টটি ধীর হওয়ার এক কারণ হ'ল এটির ধরণের সুরক্ষার মোট অভাব। যে কোনও পরিবর্তনশীল যে কোনও সময় যে কোনও ধরণের হতে পারে। এছাড়াও, বেশিরভাগ অপারেশনগুলি বিভিন্ন ধরণের সাথে বৈধ , তবে বিভিন্ন শব্দার্থবিজ্ঞান রয়েছে । একটি সাধারণ শব্দ

a += b;

দোভাষীর পক্ষে এটি তুচ্ছ নয়, কারণ aএবং bএটি সংখ্যা বা স্ট্রিং হতে পারে। উভয়ই সংখ্যা হলে এটি একটি গাণিতিক সংযোজন। উভয়ই যখন স্ট্রিং হয় তখন এটি একটি স্ট্রিং সংমিশ্রণ। যখন একটি স্ট্রিং হয় এবং একটি হল একটি সংখ্যা, একটি স্ট্রিং কনটেন্টেশন করার আগে সংখ্যাটি অবশ্যই ফর্ম্যাট করা উচিত। এগুলি সম্পূর্ণ আলাদা অপারেশন যা আর্গুমেন্টকে আলাদাভাবে ব্যাখ্যা করতে হবে।

ধরনের উপর নির্ভর করে aএবং b, ধরণ aএখন পূর্ণসংখ্যা, যা টাইপ এটি আগে ছিল নির্বিশেষে হতে পারে, ডবল বা স্ট্রিং।

যেহেতু জেএস-এর ভেরিয়েবলগুলি যে কোনও সময়ে তাদের ধরণ পরিবর্তন করতে পারে, যখনই এই নির্দেশটি ভুল ক্রিয়াকলাপটি এড়াতে বলা হয় তখন দোভাষী তার প্রকারগুলি মূল্যায়নের আশেপাশে খুব কমই পান। এর জন্য অতিরিক্ত সিপিইউ চক্রের প্রয়োজন।

অন্যান্য বৈশিষ্ট্যগুলি যা অপ্টিমাইজেশানকে আরও শক্ত করে তোলে তা হ'ল বিরল অ্যারে বা আবর্জনা সংগ্রহ এবং ইভেন্ট হ্যান্ডলারগুলি যা যে কোনও সময় গুলি চালাতে পারে।

Asm.js এ একবার দেখুন - এটি জাভাস্ক্রিপ্টের একটি উপসেট যা কিছু জেএস বৈশিষ্ট্যগুলি উল্লেখযোগ্যভাবে গতিশীল টাইপিং থেকে পরিত্রাণের মাধ্যমে আরও ভালতর অপ্টিমাইজেশনের অনুমতি দেয়।


1
আধুনিক জাভাস্ক্রিপ্ট জেআইটি সংকলকরা আপনার প্রকৃত রানটাইম ব্যবহারের ক্ষেত্রে স্থিতিশীল থাকলে আপনি যে ধরণের ধরন ব্যবহার করছেন তার জন্য ফ্লাইয়ে বিশেষায়িত মেশিন কোড উত্পন্ন করে। আপনি যদি সত্যিই এমন কোনও কোডিং করে যা aপূর্ণসংখ্যা, স্ট্রিং বা ডাবল ইত্যাদি হতে পারে তবে আপনি ঠিক বলেছেন। এবং এখনও পুরানো ব্রাউজারগুলি অবশ্যই দোভাষী ব্যবহার করে তাদের এই অপ্টিমাইজেশন নেই।
ইসাইলিজা

1
@ এসাইলিজা আধুনিক জাভাস্ক্রিপ্ট পরিবেশগুলি পুরানোগুলির চেয়ে অনেক বেশি দ্রুত। স্ট্যাটিকালি টাইপ করা আধুনিক পরিবেশের যেমন। নেট, জেভিএম, এরলংভিএম ইত্যাদির সাথে তুলনা করার সময় তারা এখনও ধীর হয়
ডেভিড সের্গেই

@ জন্ম হ্যাঁ আমি এটি বলছি না, কেবল এই বলে যে এই পোস্টটি বর্ণনা করেছে যে কোনও দোভাষী / অ-অপ্টিমাইজ করা জিট সংকলক এটি কীভাবে করবে এবং এটি মারাত্মকভাবে ধীরে ধীরে।
ইসাইলিজা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.