কিভাবে একটি Ember.js অ্যাপ্লিকেশন স্থপতি করতে


105

এর্বার জেএস এর বিবর্তনটি (যেমন পৌঁছেছে!) এর 1.0.0.0 এর সাথে সংযুক্ত হওয়া কঠিন হয়ে পড়েছে। টিউটোরিয়াল এবং ডকুমেন্টেশনগুলি এসেছে এবং চলে গেছে, সর্বোত্তম অনুশীলন এবং মূল বিকাশকারীদের অভিপ্রায় সম্পর্কে প্রচুর বিভ্রান্তির দিকে পরিচালিত করে।

আমার প্রশ্নটি হ'ল: অ্যাম্বার জেএসের জন্য সেরা অনুশীলনগুলি কী কী? অ্যাম্বার জেএস কীভাবে ব্যবহারের উদ্দেশ্যে তৈরি হয়েছে তা দেখিয়ে এমন কোনও আপডেট টিউটোরিয়াল বা কাজের নমুনা রয়েছে? কোড নমুনা দুর্দান্ত হবে!

সবাইকে ধন্যবাদ, বিশেষত আম্বার জেএস ডেভস!


7
এই প্রশ্নটি 'এমবারজেএস টিউটোরিয়াল' এর জন্য গুগল অনুসন্ধানের শীর্ষে রয়েছে, তবে এটি সত্যিই সেই প্রশ্নের উত্তর দেয় না। এটি ইন্টারনেটে 2 টি লিঙ্ক সম্পর্কে সত্যই একটি প্রশ্ন। আপনি শিরোনাম ফিট করার জন্য এই প্রশ্নটি পরিবর্তন বিবেচনা করবেন? আমি মনে করি সর্বোত্তম উত্তরটি এমন হবে যা প্রকৃতপক্ষে কাউকে এমবারজেএসের সাথে অ্যাপ্লিকেশন তৈরির প্রক্রিয়াতে নিয়ে গিয়েছিল।
জর্জ স্টকার

উত্তর:


17

একটি গুরুত্বপূর্ণ প্রকল্প রয়েছে যা নতুন এবং অভিজ্ঞ উভয় এম্বার.জেস বিকাশকারী উভয়েরই সুবিধা নেওয়া উচিত:

জ্বলন্ত আগুন-cli

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

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


1
ধন্যবাদ ম্যাট! আমি এটি অ্যাম্বার-সিআইএলির সরাসরি ট্র্যাফিকের গ্রহণযোগ্য উত্তর দিয়েছি।
ক্রেগ Labenz

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

ফেয়ার পয়েন্ট @ জিল্কিয়ান। আমি জানি যে এই কারণগুলির জন্য অ্যাম্বারের শেখার বক্রতা সম্পর্কে একটি উদ্বেগ রয়েছে। এম্বার-ক্লিমে কিছু জটিলতা (এম্বার-ডেটা এবং ব্রোকলি) প্রবর্তন করার সময় এটি বিক্রেতার প্রয়োজনীয়তা এবং আপনার প্রকল্পের কাঠামোগত সম্পর্কে উল্লেখযোগ্য বিভ্রান্তি দূর করে। সুতরাং লবণের একটি দানা আছে।
ম্যাট জেনসেন

1
পুরোপুরি এম্বার সি এল এল এর সুখী পথের সাথে একমত! নীচে মাইক গ্রাসোত্তির কুইকস্টার্ট গাইড হ'ল এটি যদি পুরানো না হয়ে থাকে তবে নিখুঁত "পরবর্তী পদক্ষেপ" হবে। যারা অ্যাম্বার ২.০ অ্যাপ্লিকেশন তৈরি করতে চান, তাদের পক্ষে সর্বোত্তম জিনিসটি যথাসম্ভব সর্বোত্তম অনুশীলনগুলি হ'ল এটি নিশ্চিত করা যে আপনি মূল ধারণাটি বুঝতে পেরেছেন: মডেল, রুট, পরিষেবা, উপাদান ইত্যাদি, এম্বার ডক্স একটি দুর্দান্ত উত্স, তবে যেহেতু আমি সমস্ত ধারণাটি সংযুক্ত করার জন্য একটি একক হালনাগাদ গাইড আসেনি (নমুনা অ্যাপ্লিকেশনটির সাথে অনেক কম) আমি এগুলি
ট্রেসি

110

মাইক গ্রাসোটির ন্যূনতম व्यवहार्य এমবার.জেএস কুইকস্টার্ট গাইড

এই কুইকস্টার্ট গাইডটি আপনাকে কয়েক মিনিটের মধ্যে শূন্য থেকে সামান্য-শূন্যের তুলনায় আরও কিছুটা কমিয়ে আনতে হবে । হয়ে গেলে, আপনার কিছুটা আত্মবিশ্বাস বোধ করা উচিত যে এমবার.জেগুলি আসলে কাজ করে এবং আশা করি আরও কিছু জানতে আগ্রহী হবেন।

সতর্কতা: কেবল এই গাইডটির চেষ্টা করবেন না তারপরে ভাবেন যে অ্যাম্বার-সাকস "জিকুয়েরি বা ফোর্টরানে আরও ভাল স্ট্রাইক-গাইডটি আরও ভাল লিখতে পারলাম" বা যাই হোক না কেন। আমি আপনাকে অ্যাম্বার বা অন্য কোনও কিছুতে বিক্রি করার চেষ্টা করছি না, এই গাইডটি হ্যালো-ওয়ার্ল্ডের চেয়ে কিছুটা বেশি।

পদক্ষেপ 0 - জেএসফিডাল পরীক্ষা করে দেখুন

এই জেএসফিডেলের এই উত্তর থেকে সমস্ত কোড রয়েছে

পদক্ষেপ 1 - ember.js এবং অন্যান্য প্রয়োজনীয় লাইব্রেরি অন্তর্ভুক্ত করুন

Ember.js এর জন্য jQuery এবং হ্যান্ডলবার উভয়ই প্রয়োজন। নিশ্চিত হয়ে নিন যে এই লাইব্রেরিগুলি eber.js এর আগে লোড হয়েছে:

<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
<script type='text/javascript' src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0-rc.3/handlebars.js"></script>
<script type='text/javascript' src="http://cdnjs.cloudflare.com/ajax/libs/ember.js/1.0.0-rc.1/ember.js"></script>

পদক্ষেপ 2 - এক বা একাধিক হ্যান্ডেলবার টেম্পলেট ব্যবহার করে আপনার অ্যাপ্লিকেশনটির ইউজার ইন্টারফেস বর্ণনা করুন cribe

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

প্রথমে একটি একক যোগ করা যাক application টেম্পলেট :

<script type="text/x-handlebars" data-template-name="application">
  <div class="container">
    <h1>Ember.js is easy?<small> Minimum Viable Ember.js QuickStart Guide</small></h1>
    <p>{{message}}</p>
  </div>
</script>

পদক্ষেপ 3 - আপনার অ্যাম্বার অ্যাপ্লিকেশনটি আরম্ভ করুন

App = Ember.Application.create({});Ember.js লোড করতে এবং আপনার অ্যাপ্লিকেশনটি আরম্ভ করার জন্য কেবল অন্য স্ক্রিপ্ট ব্লক যুক্ত করুন ।

<script type='text/javascript'>
  App = Ember.Application.create({});
</script>

আপনার কেবলমাত্র একটি বেসিক অ্যাপ্লিকেশন তৈরি করার দরকার এটি তবে এটি খুব আকর্ষণীয় নয়।

পদক্ষেপ 4: একটি নিয়ামক যুক্ত করুন

এম্বার একটি নিয়ামকের প্রসঙ্গে প্রতিটি হ্যান্ডেলবারের টেম্পলেটগুলি মূল্যায়ন করে। সুতরাং applicationটেমপ্লেটের একটি মিল আছে ApplicationController। আপনি যদি কোনওর সংজ্ঞা না দেন তবে অ্যাম্বার তৈরি করে তা স্বয়ংক্রিয়ভাবে হয় তবে এখানে একটি বার্তার বৈশিষ্ট্য যুক্ত করতে এটি কাস্টমাইজ করুন।

<script type='text/javascript'>
App.ApplicationController = Ember.Controller.extend({
    message: 'This is the application template' 
});
</script>

পদক্ষেপ 5: রুট + আরও নিয়ন্ত্রক এবং টেমপ্লেট সংজ্ঞায়িত করুন

অ্যাম্বার রাউটারটি কোনও অ্যাপ্লিকেশনে টেমপ্লেট / নিয়ন্ত্রকদের একত্রিত করা সহজ করে তোলে।

<script type='text/javascript'>
  App.Router.map(function() {
    this.route("index", { path: "/" });
    this.route("list", { path: "/list" });
  });

  App.IndexController = Ember.Controller.extend({
    message: 'Hello! See how index.hbs is evaluated in the context of IndexController' 
  });

  App.ListRoute = Ember.Route.extend({
    setupController: function(controller) {
      controller.set('content', ['angular.js', 'backbone.js', 'ember.js']);
    }
  });

</script>

এই কাজটি করতে, আমরা কোনও {{outlet}}সহায়ক যুক্ত করে আমাদের অ্যাপ্লিকেশন টেম্পলেটটি সংশোধন করি । এম্বার রাউটারটি ব্যবহারকারীর রুটের উপর নির্ভর করে আউটলেটে উপযুক্ত টেম্পলেট সরবরাহ করবে। আমরা {{linkTo}}নেভিগেশন লিঙ্কগুলি যুক্ত করতে সহায়কও ব্যবহার করব ।

    <script type="text/x-handlebars" data-template-name="application">
      <div class="container">
          <h1>Ember.js is easy?<small> Minimum Viable Ember.js QuickStart Guide</small></h1>
        <p>{{message}}</p>
        <div class="row">
          {{#linkTo index class="span3 btn btn-large btn-block"}}Home{{/linkTo}}
          {{#linkTo list class="span3 btn btn-large btn-block"}}List{{/linkTo}}
        </div>
        {{outlet}}
      </div>
    </script>

    <script type="text/x-handlebars" data-template-name="list">
      <h3 class="demo-panel-title">This is the list template</h3>
      <ul>
      {{#each item in content}}
          <li>{{item}}</li>
      {{/each}}
       </ul>
    </script>

    <script type="text/x-handlebars" data-template-name="index">
      <h3 class="demo-panel-title">This is the index template</h3>
      <p>{{message}}</p>
    </script>

সম্পন্ন!

এই অ্যাপ্লিকেশনটির একটি কার্যকারী উদাহরণ এখানে উপলভ্য ।

আপনি এই jsFiddle আপনার নিজস্ব অ্যাম্বার অ্যাপ্লিকেশনগুলির সূচনা পয়েন্ট হিসাবে ব্যবহার করতে পারেন

পরবর্তী পদক্ষেপ...

রেফারেন্সের জন্য, আমার আসল উত্তর:


আমার প্রশ্নটি কোনও এম্বার.জেএস বিশেষজ্ঞ, এবং অবশ্যই সম্পর্কিত টিউটোরিয়াল লেখকদের জন্য: আমি কখন একটি টিউটোরিয়াল থেকে ডিজাইন নিদর্শন ব্যবহার করব এবং কখন অন্যটি থেকে থাকব?

এই দুটি টিউটোরিয়াল লেখার সময় সেরা অনুশীলনের প্রতিনিধিত্ব করে। নিশ্চিতভাবেই এখানে প্রত্যেকের কাছ থেকে কিছু শেখা যায়, দু'জনেই দুর্ভাগ্যক্রমে অতিক্রান্ত হয়ে যায় কারণ এমবার.জেগুলি খুব দ্রুত এগিয়ে চলেছে। দু'জনের মধ্যে ট্রেকস অনেক বেশি বর্তমান।

প্রত্যেকের কোন উপাদান ব্যক্তিগত পছন্দসমূহ এবং আমার অ্যাপ্লিকেশন পরিপক্ক হওয়ার সাথে কোন উপাদানগুলি প্রয়োজনীয় প্রমাণ করবে? আপনি যদি একটি নতুন অ্যাম্বার অ্যাপ্লিকেশন বিকাশ করে থাকেন তবে আমি কোড ল্যাব পদ্ধতির অনুসরণের পরামর্শ দেব না। এটি দরকারী হতে খুব পুরানো।

কোড ল্যাবের নকশায়, অ্যাম্বারটি অ্যাপ্লিকেশনটির মধ্যে বিদ্যমান বলে মনে হচ্ছে (যদিও এটি তার কাস্টম জেএসের 100%), অন্যদিকে ট্রেকের অ্যাপ্লিকেশনটি অ্যাম্বারের মধ্যে আরও বেশি বাস করে বলে মনে হচ্ছে।

আপনার মন্তব্যটি ধীরে ধীরে। কোডল্যাব মূল অম্বরের উপাদানগুলির সুবিধা নিয়েছে এবং তাদের বিশ্বব্যাপী সুযোগ থেকে অ্যাক্সেস করছে। যখন এটি লেখা হয়েছিল (9 মাস আগে) এটি বেশ সাধারণ ছিল তবে এম্বার অ্যাপ্লিকেশন লেখার জন্য আজ সেরা অনুশীলন ট্রেক যা করছিল তার থেকে অনেক বেশি কাছাকাছি।

এটি বলেছিল, এমনকি ট্রেকের টিউটোরিয়ালও পুরানো হয়ে যাচ্ছে। যে উপাদানগুলি প্রয়োজনীয় ছিল ApplicationViewএবং ApplicationControllerএখন কাঠামো নিজেই তৈরি করেছে।

এখন পর্যন্ত সর্বাধিক বর্তমান সংস্থানটি হল http://emberjs.com/guides/ এ প্রকাশিত গাইডের সেট is - গত কয়েক সপ্তাহ ধরে এগুলি গ্রাউন্ড থেকে লেখা হয়েছে এবং এম্বরের সর্বশেষ (প্রাক-প্রকাশের) সংস্করণকে প্রতিফলিত করে।

আমি এখানে ট্রেকের ওয়াইপ প্রকল্পটিও দেখতে চাই: https://github.com/trek/ember-todos-with-build-tools-tests-and-other-modern-conveniences

সম্পাদনা :

@ sly7_7: এম্বার-ডেটা ব্যবহার করে আমি অন্য একটি উদাহরণও দেব https://github.com/dgeb/ember_data_example


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

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

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

2
@ মাইকগ্র্যাসোটি এমবারজেএস দিয়ে শুরু করার জন্য সোর্স কোডটি দেখানোর জন্য আপনার উত্তর সম্পাদনা করার কোনও উপায় আছে কি? এম্বারজেএস এর সাথে "হ্যালো ওয়ার্ল্ড" অ্যাপ তৈরির বিষয়ে ধাপে ধাপে দিকনির্দেশ?
জর্জ স্টিকার

2
@ মাইকগ্র্যাসোট্টি এই প্রশ্ন এবং উত্তর অন্তর্ভুক্ত করতে eber.js ট্যাগ উইকি আপডেট করা উচিত
মিল্কিওয়েজয়ে


4

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

আমি এটি পেতে এবং প্রায় 5 মিনিটের মধ্যে চলমান সম্পর্কে একটি টিউটোরিয়াল লিখেছি। কেবল নোড.জেএস ইনস্টল করুন এবং এখানে অনুসরণ করুন



1

টটস + প্রিমিয়াম থেকে এমবার শিখুন শিরোনামের এই নিখরচায় টিউটোরিয়ালটিও দেখুন । এটি বিনামূল্যে কারণ এটি তাদের free coursesসিরিজ থেকে । এই কোর্সটি, যেহেতু টুটস ছেলেরা এটি বলে, অধ্যায়গুলি অনুসরণ করার জন্য চৌদ্দগুলিতে সহজভাবে বিভক্ত।

আশা করি এটা কাজে লাগবে.

শুভেচ্ছা সহ,


0

আমি কাঠকয়লা ইয়োমন পদ্ধতির পছন্দ করি। এটি আপনাকে বাক্সের বাইরে এক টন স্টাফ দেয়:

  • একটি 'মডিউল' পদ্ধতির ব্যবহার করে একটি দুর্দান্ত ফোল্ডার আর্কিটেকচার।
  • ক্লীব
  • লাইভ রিলোড
  • অল্প করা
  • কুতসিত করান
  • jshint

এবং আরও।

এবং এটির সেটআপ করা অত্যন্ত সহজ, কেবল yo charcoalএকটি অ্যাপ্লিকেশন তৈরির জন্য চালান তারপরে yo charcoal:module myModuleএকটি নতুন মডিউল যুক্ত করতে।

আরও তথ্য এখানে: https://github.com/thomasboyt/charcoal


0

আমি সবেমাত্র একটি স্টার্টার কিট তৈরি করেছি, আপনি যদি সর্বশেষতম এমবারজেএসটি এম্বারেম-ডেটা সহ, প্রতীক টেম্পলেট ইঞ্জিন সহ ব্যবহার করতে চান। সমস্ত মিডলম্যানের মোড়ানো, যাতে আপনি কফিস্ক্রিপ্ট দিয়ে বিকাশ করতে পারেন। আমার গিটহাবের সবকিছু: http://goo.gl/a7kz6y



0

আমি বেশ কয়েকটি ভিডিও তৈরি করতে শুরু করেছি যা এম্বারের আগে থেকে শুরু হয় এবং বাস্তব-বিশ্বের বিষয়গুলির জন্য মারাত্মক ব্যবহারের ক্ষেত্রে রাগের সাথে এম্বারকে ব্যবহার করার দিকে এগিয়ে যায়।

যদি আপনি দিনের আলোকে এই হিটটি দেখতে আগ্রহী হন (আগ্রহী হলে অবশেষে এটি প্রকাশ্যে আমি আরও বেশি খুশি) আপনার অবশ্যই অবশ্যই আমার করা পোস্টটিতে গিয়ে "লাইক" চাপুন (বা এখানে মন্তব্য করুন, আমি অনুমান করি):

http://discuss.emberjs.com/t/making-ember-easier-to-approach-aka-crazy-screencasts-videos-that-will-stick-in-your-mind-for-learning-ember/5284

আমি সম্প্রদায়কে উন্নত করতে সহায়তা করতে এটি উত্সাহী, তবে কীভাবে একটি সহজ উপায়ে স্ট্যান্ডার্ড ওয়েব সাইটগুলি তৈরি করতে শেখাতে সহায়তা করতে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.